rimacon Management Console

1.1 Erster Start und ODBC-Verbindung

Starten Sie die rimacon Management Console über Start => Alle Programme => rimacon => rimacon Management Console.

In der Maske „MS SQL Login“ geben Sie den DSN (Data Source Name) ein. Dies ist in der Regel „rimacon“. Wählen Sie die entsprechende Authentifizierung aus.

ODBC DSN erstellen

Beim ersten Start der rimacon Management Console auf einem Rechner ist keine DSN vorhanden, daher muss sie über einen Klick auf „Klicken Sie hier, um einen DSN zu erstellen“ erstellt werden.

1.2 Systemmenü

Programm

Systemobjekt-Export

Ermöglicht es, die Systemobjekte zu exportieren (Tabellen, Spalten, gesp. Prozeduren, individuelle Masken. usw.). siehe auch Punkt 1.5 Maske „Systemobjekte exportieren“.

Systemobjekt-Import

Ermöglicht es, die Systemobjekte zu importieren, siehe auch Punkt 1.6 Systemobjekt-Import.

Direct SQL

Ermöglicht es, einen SQL-Befehl direkt auszuführen, siehe auch Punkt 1.7 Direct SQL

Suchen in Scripten

siehe auch Punkt 1.8 Suchen in Scripten

Suchen in Systemobjekten

siehe auch Punkt 1.9 Suchen in Systemobjekten

Best Practices

siehe auch Punkt 1.10 Visual Database Designer

Toolbar anpassen

siehe auch Punkt 1.25 Toolbar anpassen

INFO

Zeigt Informationen über Produkt und Version an.

System

Logdatei CMDB-Core (aktueller CMDB-Core)

Zeigt cmdbcore.log für den aktuellen CMDB-Core an, siehe auch Punkt 10.6 cmdbcore.log und cmdbcore.errlog.

Fehler-Logdatei CMDB-Core (aktueller CMDB-Core)

Zeigt cmdbcore.errlog für die aktuelle CMDB-Core an, siehe auch Punkt 10.6 cmdbcore.log und cmdbcore.errlog.

Tabelle SQLDBG auswerten

Ermöglicht es, die Tabelle SQLDBG bequem auszuwerten. Siehe sp_cmdb_add_sqldbg.

System-Integrität

Prüft die Integrität des rimacon-Systems

Alle angemeldeten User

Zeigt alle aktiven SessionKeys und die dazugehörigen Webbenutzer.

1.3 Toolbar

Häufig genutzte Menüpunkte können der Toolbar als Favoriten hinzugefügt werden (Programm => Toolbar anpassen). siehe auch Punkt 1.25 Toolbar anpassen

1.4 Menü links

Hinweis: In diesem Menü ist es möglich, zu suchen. Die Struktur wird nach Suchergebnissen reduziert und nach Anklicken eines Menüpunktes wird die Struktur wiederhergestellt.

Wenn der Suchbegriff nicht gefunden wurde, kommen Sie über die Taste „Esc“ wieder zurück zum Menü.

Über das Anklicken des Lupen-Icons können Sie die Suchhistorie aufrufen.

System

Module

Ermöglicht es, Module freizuschalten.

CMDB-Cores

Hier verwalten Sie die CMDB-Cores, siehe auch Punkt 10 CMDB-Core

Background-Services

E-Mail-Versand

Hier werden die SMTP-Einstellungen konfiguriert, siehe auch Punkt 15.1.1 E-Mail Versand.

E-Mail-Eingang

siehe auch Punkt 15.1.2 E-Mail-Eingang

Geplante Aktionen

siehe auch Punkt 15.3 Geplante Aktionen

SMS Versand

siehe auch Punkt 15.6 SMS Versand

Webservices

siehe auch Punkt 15.2 Webservices (Providering)

Monitore verwalten

siehe auch Punkt 15.5 Monitoring

Daten/Tabellen/Spalten/Beziehungen

Visual Database Designer

siehe auch Punkt 1.10 Visual Database Designer

Tabellen

Hier werden die Tabellen verwaltet. Über Checkboxen können die Tabellen nach Art gefiltert werden. Über Doppelklick auf <Attribute>“ werden die Attribute angezeigt.

Möglichkeiten des Kontextmenüs: siehe auch Punkt 1.11 Kontextmenü für Tabelle

Alle Beziehungen

Zeigt eine Liste aller Beziehungen an.

Dynamische n:m-Beziehungen

siehe auch Punkt 4 Dynamische n:m-Beziehungen

SQL-Sicht

siehe auch Punkt 6.4 SQL-Sichten

Materialized Views

siehe auch Punkt 15.4 Materialized View

Gruppen

siehe auch Punkt 18 Gruppen

Attributkatalog

siehe auch Punkt 14.2 Attributkatalog

Tabellen-Vorlage

siehe auch Punkt 14.1 Tabellen-Vorlage

Import-Schemdata

siehe auch Punkt 12 Import-Datenschnittstelle

[Sammlung Zugangsattribute]

siehe auch Punkt 20 Sammlung Zugangsattribute

Webinterface (Standard)

Webinterface designen

siehe auch Punkt 1.24 Webinterface designen

Kontextmenü

siehe auch Punkt 9.6 Kontextmenü

Kontext-Untermenü

siehe auch Punkt 9.6 Kontextmenü

Charts

Hier werde die Charts ohne individuelle Masken verwaltet, siehe auch Punkt 9.9 Charts

Matrix

siehe auch Punkt 9.10 Matrix

Hierarchische Beziehungsübersicht

siehe auch Punkt 9.4 Hierarchische Beziehungsübersicht

Anzeigeformate

siehe auch Punkt 9.5 Anzeigeformate

Analysen (Explorer)

siehe auch Punkt 9.8 Analysestrukturen

siehe auch Punkt 9.7 Beziehungstypen

Beziehungsübersichten

siehe auch Punkt 9.16 Beziehungsübersicht

Web-Einstellungen

Diverse Web-Einstellungen, siehe auch Punkt 1.12 Maske „Web-Einstellungen“

Ressourcensammlungen

siehe auch Punkt 21 Ressourcensammlungen

Webinterface (individuell)

Individuelle Masken

siehe auch Punkt 9.11 Individuelles Maskenlayout

Masseneingabe

siehe auch Punkt 9.13 Masseneingabe / Massenupdate

Globale SQL-API

siehe auch Punkt 1.13 Globale SQL-API

Globale JS-Funktionen

siehe auch Punkt 1.14 Globale JS-Funktionen

Globale JS-Konstanten

siehe auch Punkt 1.15 Globale JS-Konstanten

Widget-Gruppen

Hier werden die Widget-Gruppen verwaltet.

Widgets

siehe auch Punkt 9.12.2 Widgets

Dashboards

siehe auch Punkt 9.12.3 Dashboards

HTTP-Endpoints

siehe auch Punkt 11.1 HTTP-Endpoints verwalten

Berechtigungen

Int./ext. Mitarbeiter

Rollen

Org.einheiten

Partnerfirmen

Schnelle Berechtigungsvergabe. Nach Doppelklick oder über rechte Maustaste erscheint eine Maske, in der alle berechtigungsfähigen Objekte angezeigt werden. Die Berechtigungen können direkt zugeordnet werden.

Konkrete Objekte

Ermöglicht die direkte Zuordnung von Berechtigungen zwischen einem konkretem CI und Berechtigten (Mitarbeiter, Rollen, Partnerfirmen,Organisationseinheiten).

Wählen Sie eine konkrete Tabelle aus, klicken Sie auf „!“ und es werden alle Objekte der Tabelle angezeigt. Die Checkboxen für select,insert, usw. zeigen an, ob mindestens einem Berechtigten (Mitarbeiter, Rollen, Partnerfirmen,Organisationseinheiten) die Berechtigungen direkt zugeordnet sind. Die Anzeige zeigt nicht die über regelbasierte Berechtigungsvergabe generierten Berechtigungen.

Über Doppelklick können die Berechtigten direkt zugeordnet werden.

regelbasierte Berechtigungsvergabe

siehe auch Punkt 2.6 Regelbasierte Berechtigungen für CIs und Menügruppen

Fehlende Berechtigungen finden

Suche, wo ein Webuser nicht ausreichende Berechtigungen hat.

Überwachung/Kontrolle

Ist/Soll-Datenbestand

siehe auch Punkt 8 Ist / Soll (Mapping / Reconciliation)

Regelbasiertes Ist/Soll

siehe auch Punkt 1.21 Regelbasierter Ist-Soll-Abgleich für Reconciliation und Synchronisierung

Life-Cycle

siehe auch Punkt 7.3 Life-Cycle

Historie

siehe auch Punkt 7.2 Historie

Korrelations-Modul

siehe auch Punkt 1.22 Korrelations-Modul

Server Side Programming

Managed Classes

siehe auch Punkt 17.3 Managed Classes

SQL Result Cache

siehe auch Punkt 16 SQL Result Cache

Globale Variablen

siehe auch Punkt 17.4 Globale Variablen

Source Codes

siehe auch Punkt 17.5 Source Codes

Stammdaten

Int./ext. Mitarbeiter

Rollen

Org.einheiten

Partnerfirmen

Stati

Hier können Sie die Stammdaten verwalten. Über das Kontextmenü stehen weitere Möglichkeiten zur Verfügung.

Die Maske für Mitarbeiter ist umfangreicher., siehe auch Punkt 1.16 Maske „Mitarbeiter“.

Systemobjektgruppen

siehe auch Punkt 1.23 Systemobjektgruppen

SQL-Server

Gespeicherte Prozeduren

Benutzerdef. Funktionen

Trigger-Funktionen

Hier werden die SQL-Server-Objekte verwaltet.

Hinweise:

- Es werden nur die in rimacon omniSuite erstellten Objekte angezeigt.

- Wenn das Objekt ausserhalb von rimacon omniSuite geändert wird, wird das Objekt zwar geändert, aber bei der Bearbeitung in rimacon omniSuite wird die ursprüngliche Version angezeigt.

siehe auch Punkt 6.2 Gespeicherte Prozeduren

siehe auch Punkt 6.1 Benutzerdefinierte Funktionen

siehe auch Punkt 6.3 Trigger-Funktionen

1.5 Maske „Systemobjekte exportieren“

Ermöglicht den Export von folgenden Systemobjekten:

Tabellen

Spalten

SQL-Sichten

Individuelle Masken

Globale SQL-API-Funktionen

Globale JavaScript-Funktionen

Globale JavaScript-Konstanten

Trigger

Gespeicherte Prozeduren

Benutzerdefinierte Funktionen (SQL)

Visual Database Designer

Beziehungstypen

Regelbasierten Berechtigungsvergaben

Systemobjektgruppen

Die Objekte werden in einer XML-Datei gespeichert und können in ein anderes rimacon omniSuite-System importiert werden.

Dies erleichtert die Übergabe von einem System in ein anderes System.

1.6 Systemobjekt-Import

Hier werden die über Systemobjekt-Export erstellten Dateien importiert.

1.7 Direct SQL

Hier können Sie einen beliebigen SQL-Befehl oder Batch direkt ausführen. Das zurückgegebene Recordset wird als Liste angezeigt. Bei Non-Query-Befehlen wird die Anzahl der betroffenen Zeilen angezeigt.

Button „Executing Plan“

Zeigt den Executing Plan des SQL-Befehls.

Konkret bedeutet es, dass vor der Ausführung folgende Optionen gesetzt werden:

SET SHOWPLAN_ALL ON

SET STATISTICS PROFILE ON

SET STATISTICS XML ON

Für detaillierte Informationen siehe die Microsoft-Dokumentation https://msdn.microsoft.com/en-us/library/ms187735.aspx

1.8 Suchen in Scripten

Ermöglicht es, alle Scripte zu durchsuchen, d.h. alle SQL-Scripte, JS-Scripte, C#-Scripte usw.

Die Suche ist case-insensitive (d.h. Groß-/Kleinschreibung spielt keine Rolle) und es werden gesamte Begriffe gesucht. Dies ist sinnvoll, wenn Sie beispielweise in Scripten einen Tabellennamen oder Spaltennamen suchen.

1.9 Suchen in Systemobjekten

Hier suchen Sie in den Systemobjektnamen. Konkret:

Tabellen

Spalten

Benutzerdefinierte Funktionen (SQL)

Trigger

Individuelle Masken

Globale SQL-API-Funktionen

Globale Javascript-Konstanten

Die Liste wird ad-hoc während des Eintippens aktualisiert. Nutzen Sie diese Suche, wenn Sie schnell ein Objekt finden wollen.

Über Doppelklick kann das Objekt bearbeitet werden.

1.10 Visual Database Designer

Die Erstellung der Tabellen, Sichten und Beziehungen wird mit dem grafischen Datenbank-Modeller unterstützt.

Hierbei werden dann die Datenstrukturen automatisch in das entsprechende Datenbankmodell umgesetzt. Die Bearbeitungs- und Auswertungsmöglichkeiten im Standard-Webinterface werden sofort und automatisch generiert.

1.11 Kontextmenü für Tabelle

Das Kontextmenü für eine Tabelle kann von verschiedenen Stellen aus aufgerufen werden.

Menüpunkte:

Text

Bedeutung

Neu

Eine neue Tabelle manuell konfigurieren und erstellen, siehe auch Punkt 2.4 Erstellung / Bearbeitung von Tabellen.

Neu aus Import-Quelle

Wählen Sie eine Import-Quelle und erstellen Sie die Spalten entsprechend der Spalten aus der Import-Quelle. Es müssen nicht alle Spalten der Import-Quelle genutzt werden.

siehe auch Punkt 1.18 Maske „Spalten von Import-Quelle erstellen“

Neu aus Tabellen-Vorlage

Wählen Sie eine Tabellen-Vorlage und es werden automatisch eine Tabelle und die entsprechenden Spalten erstellt.

siehe auch Punkt 1.19 Maske „Tabelle und Spalten von Tabellen-Vorlage erstellen“

Bearbeiten

Die ausgewählte Tabelle bearbeiten, siehe auch Punkt 2.4 Erstellung / Bearbeitung von Tabellen.

Anbindungseinstellungen

Gilt nur für View-Tabellen.

siehe auch Punkt 6.4 SQL-Sichten

Zugriffsoptimierung

Gilt nur für View-Tabellen.

siehe auch Punkt 6.4 SQL-Sichten

Historie: bearbeiten

Wenn die Tabelle eine Historie-Tabelle ist, können die Einstellungen für Historie direkt bearbeitet werden, siehe auch Punkt 7.2 Historie.

Löschen

Tabelle löschen

Eindeutigkeit

siehe auch Punkt 2.8 Eindeutigkeit

Darstellung der Tabelle durch Attributnamen

siehe auch Punkt 2.7 Darstellung der Tabelle durch Attributnamen

Berechtigungen

In der Maske können Sie alle Berechtigungen für die Tabelle verwalten.

Index für die n:m-Beziehung

Für die n:m-Tabelle kann ein Index erstellt oder gelöscht werden.

Abhängigkeiten/Beziehungen

In der Maske werden alle bekannten Beziehungen angezeigt, in denen die Tabelle genutzt wird. Dazu werden auch Scripte durchsucht und angezeigt.

Attributkatalog

Es wird der Attributkatalog angezeigt und über Checkboxen ist es möglich, die Spalten direkt zuzuordnen (=erstellen) oder wegzuordnen (=löschen aus der Tabelle).

Platznutzung

Zeigt einige Informationen über die Platznutzung.

Schnell-Import

Ermöglicht einen schnellen Import von flachen Daten.

siehe auch Punkt 1.20 Maske „Schnell-Import“

Import (Komplexe Datenstruktur)

Startet den Import einer komplexeren Datenstruktur.

siehe auch Punkt 12 Import-Datenschnittstelle.

Webinterface

Öffnet die Tabelle im Webinterface

Erste Schritte

Öffnet eine Maske, die die häufig genutzten „erste Schritte“ für eine neue Tabelle zusammenfasst.

Alle Tasks

Konvertieren in 0:n oder 1:n

Konvertiert eine bestehende n:m-Tabelle in 0:n oder 1:n.

Symbolzuweisung

Für die Zuweisung eines grafischen Symbols (z.B. Ampelfarben) für die verschiedenen Status wird in der ausgewählten Tabelle eine entsprechende Spalte "Bild" hinzugefügt oder eine vorhandene Spalte ausgewählt. In dieser Spalte kann der Pfad, in dem sich das grafische Symbol befindet, angegeben werden. Zusätzlich zur Anzeige des Statuswertes wird im Explorer dann auch das entsprechende zugeordnete grafische Symbol angezeigt.

Dynamische Symbolermittlung

Für jedes beliebige CI kann bestimmt werden, dass das dem Status entsprechende grafische Symbol ermittelt wird. Dieses Symbol kann zusätzlich zur textuellen Statusangabe angezeigt werden.

Zuordnung Symbolpfad zu Wert

Wenn Sie eine Tabelle haben, in der eine Spalte als Pfad für ein Bild angegeben ist, können Sie in dieser Maske die Pfade direkt Zeile-pro-Zeile definieren. Um es zu vereinfachen, werden die unter HTTP-Server-Webroot gefundenen Bilder in einer Auswahlliste angeboten.

Diese Zuordnung kann natürlich auf über das Webinterface erfolgen, da die Spalte eine normale Text-Spalte ist. Allerdings müsste der Webbenutzer den Pfad kennen und richtig eingeben (z.B. „my_pics/erlaubt.png“), während über dieses Feature können die Pfade bequem aus der Liste ausgewählt werden.

Individuelle Masken

Zeigt eine Liste aller individuellen Masken, die auf der Tabelle basieren. Die individuellen Masken können hier verwaltet werden.

Matrix

Zeigt eine Liste aller Matrizes, die auf der Tabelle basieren. Die Matrizes können hier verwaltet werden.

Hierarchische Beziehungsübersichten

Zeigt eine Liste aller hierarchischen Beziehungsübersichten für die Tabelle. Die hierarchischen Beziehungsübersichten können hier verwaltet werden.

Kontextmenü

Zeigt eine Liste aller Kontextmenüpunkte für die Tabelle. Die Kontextmenüpunkte können hier verwaltet werden.

Historie

Erstellt eine neue oder bearbeitet eine bestehende Historie für die Tabelle

Life-Cycle

Erstellt einen Life-Cycle für die Tabelle, wenn kein Life-Cycle vordefiniert ist.

Trigger

Ermöglicht es, einen Trigger für die Tabelle zu erstellen oder einen bestehenden Trigger zu bearbeiten.

Materialized View bearbeiten

Wenn die Tabelle bereits eine Materialized View ist, werden hier die Einstellungen für die Materialized View bearbeitet.

Materialized View erstellen

Erstellt eine neue Materialized View, die aktuelle Tabelle wird als Ausgangstabelle genutzt. Über den Assistenten können weitere Tabellen angebunden werden.

Masseneingabe

Ermöglicht es, eine Masseneingabe für die Tabelle zu erstellen oder eine bestehende Masseneingabe zu bearbeiten.

Neue Korrelationsvorgabe (Event)

Erstellt eine neue Korrelation.

Korrelationsvorgabe (Event) <Name>“ bearbeiten

Eine bestehende Korrelation bearbeiten.

Neue Ist-Tabelle aus bestehender Soll-Tabelle erstellen

Erstellt eine entsprechende „Ist“-Tabelle, wenn die ausgewählte Tabelle als „Soll“ betrachtet wird.

Neue Soll-Tabelle aus bestehender Ist-Tabelle erstellen

Erstellt eine entsprechende „Soll“-Tabelle, wenn die ausgewählte Tabelle als „Ist“ betrachtet wird.

Ist-Soll Definition „<Name>“ bearbeiten

Eine bestehende Ist-Soll-Definition bearbeiten.

1.12 Maske „Web-Einstellungen“

Die Web-Einstellungen verwalten Sie in der Management Console über linkes Menü => Webinterface (Standard) => Web-Einstellungen.

Diese Einstellungen gelten für alle -Cores.

Reiter „Allgemein“

Pfad für Customer-CSS

siehe auch Punkt 11.2 Web-Einstellungen CSS

Browsertab-Titel

Der Browserüberschrift lautet standardmäßig „rimacon omniSuite Webinterface“. Hier können Sie die Überschrift umbenennen.

Headerleistenhöhe

Hier können Sie die Höhe anpassen, falls dies durch Änderungen an der Headerleiste (z.B. über CSS – siehe auch Punkt 11.2 Web-Einstellungen CSS) notwendig sein sollte.

Menüleistenbreite

Die vordefinierte Menüleistenbreite reicht im Regelfall aus. Wenn ihre Menüs deutlich enger oder breiter sind, kann die Breite der Menüleiste einfach geändert werden.

Der Webbenutzer kann die Breite auch per Maus ändern, allerdings wird die Breite nach der Anmeldung immer auf die vordefinierte Breite zurückgesetzt.

Aktualisierungsintervall

Hier kann auswählt werden, ob und in welchen Zeitintervallen (z.B. alle 30 Sekunden) sich die Ad-Hoc-Sichten automatisch aktualisieren. Dies gilt für alle Ad-Hoc-Sichten. Jeder Webbenutzer kann diese Einstellung für sich entweder 1:1 übernehmen oder eigene Einstellungen definieren.

Hinweis: Diese Einstellung hat nichts mit dem Button „Autom. Aktualisieren“ zu tun.

Ad-hoc Sichten: Maximale Zeilenanzahl

Definiert die maximale Anzahl der ausgelesenen Zeilen aus der Datenbank. Dies ist sinnvoll bei langen Sichten. Beispiel:

Eine Sicht hat 21.422 Zeilen und es werden 1000 Zeilen pro Seite angezeigt. Bei der Anzeige werden nur die ersten 10.000 Zeilen ausgelesen, die Zeilen von 1 bis 1000 angezeigt und 10 Seiten angeboten. Bei Anklicken von Seite 5 werden die Zeilen von 4.001 bis 5.000 angezeigt. Bei „gehe zu“ Seite 15 werden die Zeilen 14.001 bis 15.000 angezeigt.

Hinweis 1: Wenn diese Einschränkung greift, sieht der Webbenutzer nicht die gesamte Anzahl der Zeilen.

Hinweis 2: Diese Einschränkung gilt nur für die Anzeige. Die Filter (alle Arten) betrachten alle Zeilen.

Datum und Zeit

siehe auch Punkt 13.1 Datumformate

siehe auch Punkt 13.2 Zeitzonen

Attachments

Default-Verzeichnis

Definieren Sie hier das Default-Verzeichnis, in dem die Attachments gespeichert werden.

siehe auch Punkt 3.2.5 Attachment

Webservices

Base Addressroot

siehe auch Punkt 15.2 Webservices (Providering)

Explorer Standard (ohne Analyse)

Benutzen:

siehe auch Punkt 9.8 Analysestrukturen

Button "..."

Wenn zulässig, wird eine Liste mit allen Tabellen angezeigt. Hier kann schnell per Klick definiert werden, ob die Tabelle für den Explorer genutzt darf (erste Checkbox) und wenn ja, ob Diagramm bevorzugt wird (zweite Checkbox).

Baum OnClick Aktion

Definiert die entsprechende Aktion.

Diagramm OnClick Aktion

Definiert die entsprechende Aktion.

Diagramm Menu Icons

Definiert zusätzliche Menu-Icons.

Reiter „Hinweis bei Anmeldung“

Hier können Sie HTML-Code eingeben, der auf der Anmeldeseite über der Anmeldebox angezeigt wird.

Reiter „Active Directory-Authentifizierung“

Hier wird die Authentifizierung über Active Directory definiert.

Reiter „Seite nach Anmeldung“

Nach der Anmeldung im Webinterface wird standardmäßig die Standard-Startseite angezeigt, d.h. Headerleiste oben, Menü links und Contentbereich (siehe Reiter „Layout Startseite“).

Dies lässt sich über diesen Reiter ändern:

Headerleiste anzeigen

Optionale Einstellung, falls der Link per SQL generiert wird

Link über SQL generieren.

Hier kann ein SQL-Script eingegeben werden, das die URL der Zielseite zurückgibt, abhängig vom aktuellen Webbenutzer. Dies ermöglicht es, alle Vorteile der vorstehend beschriebenen Möglichkeiten zu nutzen. D.h., einigen Webbenutzern wird das Standard-Webinterface angezeigt, andere können z.B. direkt zu einer bestimmten individuellen Maske springen, usw.

Der Assistent erleichtert das Schreiben des SQL-Scripts.

Reiter „Layout Startseite“

Ähnlich wie die Seite, die nach der Anmeldung angezeigt wird, kann auch der Content-Bereich der Standard-Startseite definiert werden. Die Headerleiste und das linke Menü bleiben bestehen.

Dies ist sinnvoll, wenn die Seite, die nach der Anmeldung angezeigt wird, auf „Standard-Startseite“ gesetzt ist oder wenn der Webbenutzer die Standard-Startseite auf anderem Weg aufruft.

Standard-Startseite

Anzeige aller generierten Reports und Analysen von und für den Webbenutzer.

Liste aller Dashboards

Alle Dashboards (für die der Webbenutzer berechtigt ist) werden als Liste angezeigt und der Webbenutzer kann ein oder mehrere Dashboards öffnen bzw. zwischen den Dashboards wechseln.

Dashboard

Es wird ein konkretes Dashboard angezeigt.

Individuelle Maske

Es wird eine konkrete individuelle Maske angezeigt.

Link über SQL generieren.

Hier kann ein SQL-Script eingegeben werden, das die URL der Zielseite zurückgibt, abhängig vom aktuellen Webbenutzer.

Reiter „Anzeige-Einstellungen Attribute“

Hier kann generell vordefiniert werden, wo welche Spalten (nur neue) angezeigt oder nicht angezeigt werden.

Die Einstellung kann jederzeit für die konkrete Spalte individuell geändert werden.

Reiter „RelationMiner“

Hier kann generell vordefiniert werden, wo, wie und mit welchen Einstellungen/Einschränkungen der RelationMiner im Standard-Webinterface genutzt wird.

siehe auch Punkt 9.15 RelationMiner

1.13 Globale SQL-API

Die globalen SQL-APIs sind ähnlich wie die SQL-APIs in individuellen Masken, siehe auch Punkt 9.11.7 SQL-API, allerdings kann die globale SQL-API in allen Masken genutzt werden. Vorher muss die globale SQL-API aber der Maske zugeordnet werden.

Der Zugriff über JavaScript erfolgt über rimacon._userform.global.<sql_api_name>(<Parameter>).

Hinweis: Es wird empfohlen, anstatt diesem SQL-API (JavaScript) die Managed Classes (siehe auch Punkt 17.3 Managed Classes) und deren SQL-API zu nutzen.

1.14 Globale JS-Funktionen

Die globalen JS-Funktionen sind ähnlich wie die JS-Funktionen in individuellen Masken, siehe auch Punkt 9.11.8 Javascript-Funktionen, allerdings kann die globale JS-Funktion in allen Masken genutzt werden. Vorher muss die globale JS-Funktion aber der Maske zugeordnet werden.

Der Zugriff von JavaScript erfolgt über rimacon._userform.global.<function_name>(<Parameter>).

1.15 Globale JS-Konstanten

Die globalen JS-Konstanten sind ähnlich wie die JS-Variablen in individuellen Masken, siehe auch Punkt 9.11.9 Javascript-Variablen, allerdings kann die globale JS-Konstante in allen Masken genutzt werden. Vorher muss die globale JS-Konstante aber der Maske zugeordnet werden.

Der Wert kann zwar geändert werden, gilt aber nur innerhalb der individuelle Maske.

Der Zugriff von Javascript erfolgt über rimacon._userform.global.<variable_name>.

Nutzen Sie dieses Feature, um z.B. globale Informationen zentral zu halten (z.B. die URL auf Ihrem JIRA-System). Dies erleichtert die Migration auf ein anderes System (z.B. vom Test- auf das Produktivsystem), insbesondere wenn auf dem anderen System die globalen Informationen andere Werte haben. Dank dieses Features müssen die Scripte nicht angepasst werden.

1.16 Maske „Mitarbeiter“

Hier werden die Mitarbeiterdaten bearbeitet (Basisangaben).

Allgemein

Allgemeine Informationen.

Webinterface Authentifizierung

Wenn der Mitarbeiter Zugriff auf das Webinterface haben soll, wählen Sie das für ihn erlaubte Authentifizierungsverfahren.

Bei der rimacon-Authentifizierung muss ein Kennwort eingegeben werden.

Wenn mindestens eine Authentifizierung erlaubt ist, muss Login angegeben werden.

Spezielle Berechtigungen

Hat alle Berechtigungen im Webinterface

Wenn angekreuzt, hat der Webbenutzer alle Berechtigungen auf alle Objekte und CIs. Dieses Feature sollte daher entsprechend vorsichtig und möglichst nur in einer Testumgebung genutzt werden.

Direct SQL

Wenn angekreuzt,

- kann der Webbenutzer in einem erweiterten Report die Tabellen direkt über SQL anbinden

- erscheint bei Ad-hoc-Sichten der Link auf das SQL-Script

Diagramme verwalten

Wenn angekreuzt, kann der Webbenutzer im Diagrammer die Schablonen verwalten.

Logginginfo anzeigen, Logginginfo bearbeiten (löschen)

Definiert, ob der Webbenutzer die Logginginformation sehen und evtl. löschen darf. Dies gilt für alle Tabellen, die Logging aktiviert haben und der Webbenutzer hat für die Tabelle die SELECT- oder DELETE-Berechtigung.

siehe auch Punkt 7.1 Logging

Individuelle Masken: debug Objekt

Wird bei individuellen Masken genutzt: wenn angekreuzt und wenn sich die individuelle Maske im Debug-Modus befindet, dann wird der Aufruf von rimacon._userform.MainForm.debug.alert(msg) ein echtes JavaScript-alert aufrufen.

Dies ermöglicht es, die debug-Meldung nur dem zuständigen Webbenutzer anzuzeigen.

1.17 Kontextmenü für individuelle Maske

Kontextmenü für eine Tabelle aus verschiedenen Stellen aufgerufen werden.

Text

Bedeutung

Neu

Legt eine neue individuelle Maske an.

Bearbeiten (Design)

Ändert das Design der Maske, siehe auch Punkt 9.11.2 Individuelle Maske designen.

Bearbeiten (Erweiterte Einstellungen)

Ändert einige Einstellungen, ohne das Design zu bearbeiten.

siehe auch Punkt 9.11.1 Individuelle Maske: Basiseigenschaften

Löschen

Löschen der individuellen Maske.

Berechtigungen

Definiert die Berechtigten.

Webinterface

Öffnet die individuelle Maske im Webinterface.

Debug-Modus

Schaltet den Debug-Modus ein oder aus. siehe auch Punkt 9.11.3 Hauptformular, Objekt debug.

Traces anzeigen

Zeigt alle Traces fúr die individuelle Maske.

siehe auch Punkt 9.11.3 Hauptformular, Objekt trace

Zur individuellen Objektliste hinzufügen

Systemobjekt-Export

Öffnet die Maske „Systemobjekte exportieren“ und wählt diese individuell automatisch aus.

siehe auch Punkt 1.5 Maske „Systemobjekte exportieren“

1.18 Maske „Spalten von Import-Quelle erstellen“

Wählen Sie eine Import-Quelle und erstellen Sie über die Checkbox Spalten entsprechend der Spalten aus der Import-Quelle. Es müssen nicht alle Spalten der Import-Quelle genutzt werden.

Über den Button „Neue Import-Quelle“ können Sie eine neue Import-Quelle öffnen, auch wenn schon eine Import-Quelle vorhanden ist.

Über den Button „Weitere Tabelle“ können Sie eine andere Tabelle auswählen, für die Sie die neuen Spalten erstellen wollen.

Über den Button „Schnell-Import“ können Sie die Daten gleich importieren, siehe auch Punkt 1.20 Maske „Schnell-Import“.

1.19 Maske „Tabelle und Spalten von Tabellen-Vorlage erstellen“

Wählen Sie eine Tabellen-Vorlage aus und es werden automatisch eine Tabelle und die entsprechenden Spalten erstellt.

Während der Erstellung werden Ihnen die entsprechenden, teilweise vorgefüllten Masken angezeigt.

siehe auch Punkt 14.1 Tabellen-Vorlage

1.20 Maske „Schnell-Import

In dieser Maske können Sie flache Daten importieren. „Flach“ bedeutet, dass die Spalten der Quelle den Spalten der ausgewählten Tabelle entsprechen (es müssen nicht alle Spalten genutzt werden).

Vorgehen:

1) Wählen Sie die Quelle aus und konfigurieren Sie die Quelle

2) Über die rechte Maustaste mappen Sie die Spalten aus der Quelle mit den Tabellenspalten

3) Starten Sie den Import.

Die ausgelesenen Zeilen werden immer hinzugefügt, daher sollte so ein Import nur einmal durchgeführt werden.

1.21 Regelbasierter Ist-Soll-Abgleich für Reconciliation und Synchronisierung

Mit dem regelbasierten Ist-Soll-Abgleich kann sichergestellt werden, dass die Datenbankobjekte in der Datenbank auch nach Änderungen immer konsistent, vollständig und fehlerfrei sind.

Es kann nicht nur der technische Bestand überprüft und gepflegt werden, sondern auch alle in der Datenbank abgelegten Datenobjekte. Ebenso können alle Beziehungen und Abhängigkeiten bei Änderungen eines Objektes mit geprüft und gepflegt werden.

Fehler und Inkonsistenzen sowie dadurch notwendige Korrekturmaßnahmen werden durch den Einsatz des regelbasierten Ist-Soll-Abgleichs konsequent vermieden.

Datenabgleichverfahren (Reconciliation)

Es können beliebige Datenbankinstanzen (Ist, Soll, Plan, Historie etc.) der Datenobjekte abgeglichen werden.

Der Umfang der abzugleichenden Attribute kann frei gewählt werden.

Es kann festgelegt werden, dass Beziehungen mit abgeglichen werden.

Es können Regeln (z.B. Ausschlüsse) für den Abgleich definiert werden.

Es kann festgelegt werden, wie mit den entdeckten Abweichungen umgegangen werden soll:

o Daten werden trotz Abweichung übernommen

o Daten werden zuerst zur Nachdokumentation an Verantwortliche adressiert (ggf. mit E-Mail)

Die Ergebnisse des Datenabgleichverfahrens

können zur Nachvollziehbarkeit an einen Empfängerkreis per E-Mail verschickt werden

können als Reports von den Verantwortlichen im Web-Interface abgerufen werden

Bei Abweichungen können Handlungsanweisungen für die Nachdokumentation der unvollständigen oder fehlerhaften Dokumentation angestoßen werden.

Synchronisierungsverfahren

Es können Regeln für die Synchronisierung definiert werden

wann die Synchronisierung erfolgt (nach erfolgreichem Abgleich, unabhängig vom Abgleich, nur nach manueller Kontrolle)

ob und welche Beziehungen automatisch mit synchronisiert werden sollen. Die Kontrolle der Reconciliation-Ergebnisse und der Anstoß der Synchronisation können automatisch oder manuell erfolgen.

Manuelle Kontrolle der Ergebnisse der Reconciliation und manueller Anstoß der Synchronisierung

Hierfür wird im Web-Interface eine Standard-Abgleichmaske generiert, die der berechtigte User dann für die betroffenen Datenobjekte aufrufen kann.

Der Anstoß zur manuellen Synchronisierung kann standardmäßig über folgende Aktionen erfolgen: neue Datenobjekte (ggf. mit Beziehungen) übernehmen, Datenabweichungen übernehmen oder Datenobjekte, die sich nur noch im Zieldatenbestand befinden, löschen.

Es können auch eigene, automatisch durchgeführte Aktionen erstellt werden, deren Ausführung manuell angestoßen wird.

Automatische Durchführung der Reconciliation und ggf. automatische Synchronisierung gemäß der Regeln zur Synchronisierung

Um die automatische Reconciliation und ggf. automatische Synchronisierung der Daten durchzuführen, kann das Verfahren im Action Scheduler und/oder in der ETL-Datenschnittstelle (Import-Manager) eingebunden werden.

Auch die Anforderung wird erfüllt, dass die Aktualisierung der Datenbank erst dann erfolgt, wenn alle fachlich oder organisatorisch zusammengehörenden Änderungen vorliegen.

Dieser Sachverhalt kann z.B. eintreffen, wenn mehrere externe, zu unterschiedlichen Zeiten aktualisierte Datenquellen regelmäßig eingebunden werden und/oder die manuelle Dokumentation von Änderungen von unterschiedlichen Personengruppen vorgenommen wird.

Beispiel:

Jede Nacht werden aus dem HR-System Mitarbeiterdaten geliefert: Stammdaten, Standort des Mitarbeiters etc.

In der IT werden manuell die IT-bezogenen Daten des Mitarbeiters gepflegt: Computer gehört Mitarbeiter, Computer befindet sich am Standort etc.

Nach einem Umzug des Mitarbeiters muss sichergestellt werden, dass die Datenbank erst dann aktualisiert wird, wenn die Änderungen in beiden Datenquellen dokumentiert wurden.

Bereitstellung von ADD-ON Features

Wenn Datenobjekte manuell gepflegt werden müssen, stellt omniSuite Add-On-Features zur automatischen Pflege von Abhängigkeiten und Beziehungen bereit:

beim Ersetzen von Datenobjekten werden alle erforderlichen Beziehungen und Abhängigkeiten automatisch umgehängt

bei der Anlage eines Datenobjektes werden bestimmte Attributwerte und bestimmte Beziehungen von Datenobjekten gleichen Typs automatisch zugeordnet

beim Ersetzen, Löschen oder bei Inaktivität von Datenobjekten werden bestimmte Beziehungen oder alle Beziehungen von diesen Datenobjekten gelöst

Durch diese Features werden eine höhere Datenqualität und eine Produktivitätssteigerung bei der

Dokumentation der Änderungen erreicht.

1.22 Korrelations-Modul

Mit der Korrelations-Engine lässt sich ohne Programmierung darstellen, wie die Zustände von Informationsobjekten wechselseitig aufeinander wirken. Korrelationen sind damit ein wichtiger Bestandteil, um z.B. Impact- und Root-Cause-Analysen durchzuführen.

Hierfür werden Regeln und Kriterien festgelegt (Typ der Beziehung, Gewichtung von Beziehungen), mit deren Hilfe dann die Bedeutung eines eintreffenden Ereignisses eingeschätzt werden kann.

Automatisch kann dann die Wirkung auf andere Informationsobjekte ermittelt werden.

1.23 Systemobjektgruppen

Mit Systemobjektgruppen wird das Designen von mehreren Applikationen vereinfacht und besser unterstützt. Auch die Zusammenfassung von Paketen z.B. für die Überführung in das Produktivsystem wird vereinfacht:

die Designergebnisse (Tabellen, Explorerkonfigurationen, Matrix etc.) werden den Systemobjektgruppen zugeordnet und entsprechend in den Übersichtsdarstellungen (Systemobjekte) dargestellt. Die Systemobjektgruppe und auch die Zuordnung des Designergebnisses können beschrieben/dokumentiert werden.

Systemobjektgruppen können selbst auch noch gruppiert werden.

1.24 Webinterface designen

Diese Maske ähnelt der Standard-Startseite (siehe auch Punkt 1.12 Maske „Web-Einstellungen“). Oben ist die Headerleiste, links steht die aktuell ausgewählte Menüstrukturgruppe mit Menüpunkten.

Die Headerleiste bearbeiten Sie über die rechte Maustaste oder Doppelklick und die Reihenfolge per Drag and Drop. Mehr dazu: siehe auch Punkt 9.1 Headerleiste

Die Menüstrukturgruppe verwalten Sie über den Button „Konfigurieren“.

Mehr dazu siehe auch Punkt 9.2 Web-Menüstrukturgruppen

Die Menüpunkte der aktuell ausgewählten Menüstrukturgruppe bearbeiten Sie über die rechte Maustaste und Doppelklick.

Mehr dazu: siehe auch Punkt 9.3 Webinterface-Menüstruktur

Über den Button „Layout Startseite“ ändern Sie den Content-Bereich der Standard-Startseite.

siehe auch Punkt 1.12 Maske „Web-Einstellungen“

1.25 Toolbar anpassen

Diese Maske ermöglicht es, die Standard-Toolbar um beliebige Menüpunkte aus dem linken Menü (siehe auch Punkt 1.4 Menü links) zu erweitern. Die ausgewählten Punkte werden dauerhaft angezeigt. So können die häufig genutzten Menüpunkte schneller angerufen werden (Favoriten).

1.26 Maske Bild Auswählen

In deser Maske kann ein Bild ausgewählt werden.

Bereich:

Es gibt vier Arten von Bereichen:

Pfad: Pfad zu einem Bild unter Verzeichnis cmdbcore.exe\web

Globale Ressourcensammlung <xy>: siehe auch Punkt 21 Ressourcensammlungen

Eingebettet: Der Inhalt wird aus einer lokalen Datei ausgelesen und in der Datenbank gespeichert. Spätere Änderungen an der Datei werden nicht berücksichtigt.

Komponente <xy>: Eine Ressourcensammlung innerhalb einer individuellen Maske, siehe auch Punkt 9.11.4.45 Ressourcensammlung.

Hinweis: Welche Bereiche möglich sind, liegt am Kontext, d.h. nicht immer stehen alle Bereiche zur Verfügung.

1.27 Maske Assistent - Beziehungskette

In dieser Maske kann eine Beziehungskette definiert werden. Der Startpunkt ist eine konkrete Tabelle. In der Auswahlliste „Beziehung“ stehen alle bekannten Beziehungen zur Verfügung und über den Button „Anbinden“ wird die ausgewählte Beziehung genutzt und die entsprechende Tabelle angebunden.

Anschließlich wird die Auswahlliste „Beziehung“ aktualisiert, d.h. mit Beziehungen für die letzte Tabelle in der Kette gefüllt.

Über den Button „Letzte Beziehung rückgängig“ kann die letzte Beziehung gelöscht werden.

Durch Anklicken „Visual Database Designer“ kann die Menge der Beziehungen in der Auswahlliste „Beziehung“ der im konkreten Visual-Database-Designer genutzten Tabellen eigeschränkt werden.

Tabellen

Für alle Tabellen unter dem Menüknotenpunkt Daten/Tabellen/Spalten/Beziehungen werden folgende Spalten angezeigt:

ID: die ID der physischen Datenbank-Tabelle (nicht auf MS SQL-Ebene).

Name: Name (Plural) der Tabelle für das Webinterface

Datenbank-Name: der tatsächliche physische Tabellenname

Aktion => Attribute: über Doppelklick werden die Spalten angezeigt

Gruppe: Siehe unten

Hinweis: Schnellanalyse

Beschreibung: Zu Dokumentationszwecken kann die Tabelle beschrieben werden.

Über das Kontextmenü (rechte Maustaste) wird zur Bearbeitung verzweigt, {1.11}.

Es gibt acht Gruppen von Tabellen:

1. Stammdaten-Tabellen, wie z.B. ANW, ROL, PAF, die beispielsweise für die Berechtigungsvergabe erforderlich sind. Diese Tabellen können um Spalten erweitert werden, die vorgegebenen Spalten dürfen aber nicht gelöscht werden.

2. rimacon-Tabellen: von rimacon gelieferte Tabellen, wobei einige fest mit rimacon-Features oder der Engine verknüpft sind (z.B. EMAIL, CNLOG, ...). Diese Tabellen können um Spalten erweitert werden, die vorgegebenen Spalten dürfen aber nicht gelöscht werden.

3. View-Tabellen: echte SQL-Server-Sichten, die als Tabelle betrachtet werden, siehe auch Punkt 6.4 SQL-Sichten .

4. Historie: automatisch erstellte Tabellen für Historie, siehe auch Punkt 7.2 Historie .

5. Life-Cycle: automatisch erstellte Tabellen für Life-Cycle, siehe auch Punkt 7.3 Life-Cycle

6. Report-Tabellen: für Reports

7. Materialized View Tabellen: siehe auch Punkt 15.4 Materialized View

8. Benutzerdefinierte Tabellen, die Sie individuell erstellen und jederzeit ändern bzw. erweitern können.

Außerdem gibt es viele System-Tabellen, die verschiedene System-Informationen enthalten. Diese Tabellen werden in der Management Console nicht angezeigt und können nicht geändert und erweitert werden.

Bei der Anlage einer Tabelle werden automatisch zwei Spalten generiert:

1. Primärschlüssel: Typ int. Der Primärschlüssel wird bei der Neuanlage automatisch generiert. Der Primärschlüssel kann im Webinterface angezeigt werden.

2. Mandant-ID: Typ int. Die rimacon-Datenbank ist grundsätzlich mandantenfähig. Aus diesem Grund wird automatisch jede Tabelle und Beziehungstabelle mit einer Mandantentabelle verknüpft. Diese Spalte wird nicht angezeigt und kann auch nicht geändert bzw. erweitert werden.

2.1 Namen für benutzerdefinierte Tabellen

Jede in der Management Console angelegte Tabelle wird automatisch als physische Datenbank-Tabelle im Datenbanksystem abgelegt. Für jede Tabelle werden zwei Namen vergeben: Singular und Plural. Diese Namen werden in der Management Console und im Webinterface je nach Kontext genutzt.

2.2 Namenskonventionen für benutzerdefinierte Tabellen

Für die Namen der Tabellen, die als physische Datenbank-Tabelle im Datenbanksystem abgelegt werden, müssen folgende Namenskonventionen eingehalten werden:

a) Präfix "VTAB_"

b) Die nachfolgende Namenseingabe darf nicht nur aus Nummern bestehen, z.B. nicht VTAB_2, VTAB_56, …

c) Zulässige Zeichen sind: a-z, A-Z, 0-9, _

d) Der gesamte Name inkl. Präfix muss mindestens 6 Zeichen, darf aber höchstens 24 Zeichen lang sein.

Beispiele: VTAB_router, VTAB_switch, VTAB_rel_firma_change

Bei Tabellen, die standardmäßig von rimacon vorgegeben werden, gelten die Namenskonventionen für Tabellen nicht.

2.3 Beziehungen

Folgende Arten von Beziehungen können definiert werden:

0:n, 1:n (über Fremdschlüssel)

0:n, 1:n (über Multifremdschlüssel)

n:m (über n:m-Tabelle)

0:n, 1:n (über Fremdschlüssel)

Diese Beziehung wird über eine Fremdschlüssel-Spalte realisiert.

Beispiel: Rechner gehört unter eine Domäne.

Im Webinterface gibt es vier Möglichkeiten, 0:n- bzw. 1:n-Beziehungen zu verwalten

1. Bearbeitungsformular für Rechner: Auswahlliste von Domänen

2. Rechner Kontextmenü: eine Domäne auswählen (Auswahlliste von Domänen)

3. Domäne Kontextmenü: Rechner zuordnen (Liste)

4. Domäne benutzerdef. Bearbeitungsformular: Rechner zuordnen (Liste)

siehe auch Punkt 3.2.2 Fremdschlüssel

0:n, 1:n (über Multifremdschlüssel)

Diese Beziehung wird über eine Multifremdschlüssel-Spalte realisiert.

Beispiel: Für einen Rechner ist entweder ein Mitarbeiter oder eine Abteilung oder eine Partnerfirma zuständig.

Im Webinterface gibt es drei Möglichkeiten, 0:n- bzw. 1:n-Beziehungen über Multifremdschlüssel zu verwalten:

1. Bearbeitungsformular für Rechner: Zwei Auswahllisten: Die erste enthält die Fremdtabelle (z.B. Mitarbeiter, Partnerfirma, Abteilung) und die zweite enthält die konkreten Objekte der ausgewählten Tabelle.

2. Fremdtabelle (z.B. Mitarbeiter, Partnerfirma, Abteilung) Kontextmenü: Rechner zuordnen (Liste von Rechnern).

3. Fremdtabelle (z.B. Mitarbeiter, Partnerfirma, Abteilung) im benutzerdef. Bearbeitungsformular: Rechner zuordnen (Liste).

siehe auch Punkt 3.2.3 Multifremdschlüssel

n:m (über n:m-Tabelle)

n:m-Beziehungen werden über eine eigene Tabelle (Beziehungstabelle) realisiert. Diese Tabelle enthält von beiden an der Beziehung beteiligten Tabellen die Schlüssel als Fremdschlüssel für die Beziehungstabelle (Kardinalität ist 1:n). Für Beziehungstabellen können auch noch eigene Attribute wie z.B. Gültigkeitsdatum definiert werden.

2.4 Erstellung / Bearbeitung von Tabellen

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um die Tabelle anzulegen, sie zu beschreiben und Optionen für die Bearbeitung und Nutzung der Tabelle festzulegen.

Tabelle

Eingabe des physischen Tabellennamens, wobei die Namenskonventionen eingehalten werden müssen

siehe auch Punkt 2.2 Namenskonventionen für benutzerdefinierte Tabellen

Wird kein Name vergeben, wird der Tabellenname automatisch generiert.

Singular und Plural

Name der Tabelle, der im Webinterface verwendet wird.

Beschreibung

Zu Dokumentationszwecken kann die Tabelle beschrieben werden.

Logging

Gibt an, dass alle Änderungen der Tabelle geloggt werden (was wurde wann von wem bzw. wodurch geändert).

Standard-Bearbeitungsformular benutzen

Gibt an, dass für die Bearbeitung dieser Tabelle das automatisch generierte Bearbeitungsformular im Webinterface genutzt werden kann. Für jede Tabelle können auch weitere Bearbeitungsformulare, z.B. für bestimmte Aufgaben oder Nutzer definiert werden (siehe auch Punkt 9.11 Individuelles Maskenlayout).

Wenn das Standard-Bearbeitungsformular genutzt werden darf, können zusätzlich die Breite und Höhe der Maske vergeben werden, so dass die Größe sich besser dem Inhalt der Maske anpasst.

Breite und Höhe

Ausgangsgröße für das Standard-Bearbeitungsformular, wenn es modal geöffnet wird.

Standard-Löschenmaske benutzen

Gibt an, dass für Löschen aus dieser Tabelle aus dem Kontextmenü die Standard-Löschenmaske genutzt wird. Wenn diese Option nicht angekreuzt ist, gibt es aus dem Kontextmenü keine Standard-Möglichkeit, um ein Objekt aus dieser Tabelle zu löschen. In diesem Fall müssen Sie auf anderem Weg löschen (z.B. Trigger, besondere individuelle Maske nur für Löschen etc.)

Standard-Detailmaske benutzen

Gibt an, dass die 360-Grad-Sicht für diese Tabelle aus dem Kontextmenü genutzt wird.

Im Explorer benutzen

Gibt an, dass der Explorer ohne Analysestrukturen für diese Tabelle aus dem Kontextmenü geöffnet werden darf und in welchem Modus (Baum, Diagramm)

(siehe auch Punkt 9.8 Analysestrukturen)

Registerkarte „n:m“

Bei der Anlage von n:m-Beziehungen ist darauf zu achten, dass die Kardinalität bei den Fremdschlüsseln immer 1:n ist.

Ist n:m

Die Angaben sind notwendig, um zu erkennen, dass die Tabelle eine n:m-Beziehung ist und welche Tabellen (n-Spalte bzw. m-Spalte) diese n:m-Tabelle bilden.

Als CI betrachten

Wenn dies nicht angekreuzt ist, handelt es sich um eine einfache n:m-Beziehung.

Spalte 1

      Fremdtabelle

      Auswahl der ersten Tabelle des Tabellenpaares

      bei Anzeige

      benutzen

      Gibt an, ob im Kontextmenü unter „Auswertung“ die Auswahl / Selektion der Tabelle angezeigt wird.

      Text

Beschreibung der Beziehung, die im Kontextmenü unter „Auswertung“ für die Auswahl/Selektion der Tabelle angezeigt wird.

      Im Kontexmenü nicht anzeigen, wenn keine Objekte vorhanden

Wenn aktiv und es sind keine zugeordneten Objekte vorhanden ,dann wird der Menüpunkt „Anzeige von zugeordneten Objekten“ nicht angezeigt.

      bei Bearbeitung

      benutzen

Gibt an, ob im Kontextmenü unter „Bearbeiten“ die Auswahl / Selektion der Tabelle angezeigt wird.

      Text

Beschreibung der Beziehung, die im Kontextmenü unter „Bearbeiten“ für die Auswahl/Selektion der Tabelle angezeigt wird.

      Beziehungsbeschreibung

      Beziehungsbeschreibung, die im Explorer bei der Analyse der Beziehungen angezeigt wird.

      Beziehungsbeschreibung (konkret)

Die Beziehungsbeschreibung ist standardmäßig ein fixer Text, unabhängig von den n- und m-Objekten. Hier kann der Text dynamisch definiert werden, abhängig von konkreten n- und m-Objekten und weiteren Eigenschaften. Die grafische Darstellung (Farben, Style, ...) ist ebenso möglich.

      Kontext-Untermenü

      Zuordnung der Beziehung zu einem Kontext-Untermenü.

      Neu: Anlegen eines neuen Kontext-Untermenüs

Durch die Zuordnung der Beziehungen zu einem Kontext-Untermenü wird im Webinterface eine weitere Detailtiefe für die Auswahl der Beziehungen im Kontextmenü erstellt (Drill Down).

      Beziehungstyp

Gibt die Art des Beziehungstyps an. Diese Angabe kann bei der Festlegung von Art und Umfang der zu analysierenden Beziehungen für die unterschiedlichen Analysen wie z.B. Impact-Analyse, Fehlerursachenanalyse etc., herangezogen werden (siehe auch Punkt 9.8 Analysestrukturen).

      Neu: Anlegen eines neuen Beziehungstyps

      Zuordnung im Webinterface

      Hier kann definiert werden, wie die Zuordnung von m-Objekten im Webinterface aussieht:

      gesamt speichern

Es werden alle m-Objekte gespeichert, über eine Checkbox kann ausgewählt oder aufgehoben werden und erst nach Klick auf Speichern werden alle Objekte auf einmal gespeichert.

      Dieses Vorgehen ist sinnvoll, wenn die Anzahl von m-Objekten relativ niedrig ist (<100).

      einzeln speichern

Ähnlich wie bei "gesamt speichern" werden auch alle m-Objekte mit Checkbox angezeigt, aber die schon zugeordneten Objekte werden immer oben angezeigt. Neue Zuordnung oder Wegordnung oder das Bearbeiten von n:m-Attributen erfolgt immer für eine konkrete Beziehung und wird sofort gespeichert.

Dieses Vorgehen ist sinnvoll, wenn die Anzahl von m-Objekten höher ist und wenn die Beziehung mehrere n:m-Attribute hat, die eine gesamte Darstellung im Modus "gesamt speichern" unübersichtlich machen.

Spalte 2

      Analog zu Spalte 1. Hier werden die Optionen für die zweite Tabelle des Tabellenpaares festgelegt.

      Für Spalte 2 gibt es zwei spezifische Optionen:

      Als 0:n/1:n benutzen

Wenn aktiv, wird die Beziehung auf Datenbankebene wie üblich als n:m gespeichert, aber bei der Zuordnung wird es möglich, maximal 1 Objekt zuordnen.

      Die 0:n/1:n-Beziehung im Bearbeitungsformular anzeigen

      Wenn obere Option aktiv ist, kann die Bearbeitung im Standardbearbeitungsformular erlaubt werden.

Einschränkung nach

Gibt an, nach welcher Spalte der Beziehungstabelle, wie z.B. Gültigkeitsdatum, die Anzahl der Tabellen für Auswahl/Selektion (für die Bildung bzw. Anzeige der Beziehungen) einschränkt werden kann. Im Webinterface wird hierfür eine entsprechende Filter-Maske für die Angabe/Auswahl der Einschränkung generiert.

Registerkarte „ICON 16X16“

Verwenden Sie diese Registerkarte, um das grafische Symbol für die Tabelle zuzuordnen, das in den Kontextmenüs und im Explorer (Webinterface) verwendet wird.

Icon

Enthält ein Bild, das als grafisches Symbol für die Tabelle verwendet wird.

siehe auch Punkt 1.26 Maske „Bild Auswählen“

Icon im Explorer (Webinterface)

Hier wird die Spalte angegeben, die das Icon für ein konkretes Objekt enthält. Es muss zwischen zwei Arten von Spalten unterschieden werden:

1. Spalte enthält konkret das Icon, das als grafisches Symbol für den Wert einer anderen Spalte verwendet wird; z.B. Tabelle Status: „grünes Ampelsymbol“ für den Spalteneintrag „in Betrieb“.

2. der Wert der Spalte bestimmt, welches grafische Symbol verwendet wird; z.B. wird das Symbol über die verschiedenen Auswahlfelder der Spalte bestimmt.

Die Zuweisung der Icons für die Objekte im Explorer erfolgt über zuvor definierte Regeln/Funktionen.

Ist keine Spalte ausgewählt, wird im Explorer das Icon für die Tabelle (siehe Pfad (Tabelle)) genutzt.

Registerkarte „weitere Spezifikationen“

Eindeutigkeit

Bestimmen der Spaltengruppen (eine oder mehrere Gruppen), die für die Tabelle nur einmal vergeben werden dürfen (eindeutige Identifizierung, keine Mehrfachvergabe).

siehe auch Punkt 2.8 Eindeutigkeit

Darstellung der Tabelle durch Attributnamen

Bestimmen der Spalten, die gemeinsam in den Selektions-/Auswahlmasken im Webinterface angezeigt werden, um die Tabelle schneller und genauer zu identifizieren.

siehe auch Punkt 2.7 Darstellung der Tabelle durch Attributnamen

Berechtigungen

Legt Berechtigungen auf die Tabelle fest.

2.5 Berechtigungen

Berechtigungen können für folgende Ebenen vergeben werden:

a) rollenbasiert: Berechtigungsvergabe für alle Mitarbeiter, die diese Rolle innehaben

b) Organisationseinheiten: Berechtigungsvergabe für alle Mitarbeiter, die zu dieser Organisationseinheit (Gruppe, Abteilung etc.) gehören

c) Mitarbeiter: Berechtigungsvergaben für die einzelnen Mitarbeiter (Mitarbeiterebene)

d) Partnerfirma: Berechtigungsvergabe für alle Mitarbeiter der Partnerfirma

Für die Berechtigungsvergabe gilt das „Positiv-Modell“, d.h. ein Mitarbeiter (Webinterface-User) hat seine persönlichen Rechte und darüber hinaus die Rechte aus den zugeordneten Rollen, Org.einheiten und Partnerfirmen.

Berechtigungen können mehrstufig vergeben werden:

Erste Stufe:

Berechtigungen auf Tabellen.

Berechtigungen können vergeben werden für:

Select, Insert, Update, Delete

Hinweis: Um n:m-Beziehungstabellen ändern zu können, müssen alle vier Berechtigungen vergeben werden.

Zweite Stufe:

Berechtigungsvergabe auf Datensatz- und Reportebene nach dem Owner-Prinzip.

Der Mitarbeiter, der den Datensatz bzw. den Report/die Sicht erstellt hat, vergibt auch die Berechtigungen für den Datensatz oder den Report.

Die Berechtigungsvergabe für Reports- und Sichten erfolgt immer nach dem Owner-Prinzip.

Ob auf Datensatzebene für Tabellen Berechtigungen vergeben werden sollen, wird bei der Erstellung/Bearbeitung der Tabelle angegeben (siehe auch Punkt 2.4 Erstellung / Bearbeitung von Tabellen) und durch die Angabe/Auswahl „OWNER“ in der Berechtigungsmaske für die Tabelle.

Die Berechtigungen auf Datensatzebene (konkrete Objekte) sind immer eine Untermenge von Berechtigungen auf Tabellenebene.

Beispiel:

Hans Mustermann darf die Rechner "sehen" (select) und "ändern" (update).

Admin ist "Owner" für Rechner S0123 . Im Webinterface darf Admin die Berechtigungen für Rechner S0123 weiter vergeben, für Hans Mustermann allerdings nur "sehen" und "ändern".

In dem Übersichtsbild für „konkrete Objekte“ werden die vergebenen Berechtigungen für die konkreten Datensätze der Tabellen/Beziehungstabellen sowie für die Reportformate (Doppelklick auf Tabelle bzw.) angezeigt. Durch Doppelklick auf den konkreten Datensatz bzw. die Reportformate werden die vergebenen Berechtigungen je Rolle, Nutzer etc. angezeigt.

Die Berechtigungsvergabe auf Datensatz- und Reportebene kann sowohl in der Management Console als auch aus dem Webinterface erfolgen.

Für Reportformate kann neben der Berechtigungsvergabe für Select, Insert, Update und Delete auch die Berechtigung für Design vergeben werden, d.h., für Reportformate kann auch die Berechtigung für Layoutänderungen vergeben werden.

2.6 Regelbasierte Berechtigungen für CIs und Menügruppen

Wenn für eine Tabelle die Option „Berechtigungen für konkrete Objekte“ aktiv ist (Management Console => Daten/Tabellen/... => Tabellen => konkrete Tabelle => Kontextmenü => Berechtigungen => Reiter „Konkrete Objekte“), können für die Tabelle und CIs Regeln definiert werden. Für Menüstrukturgruppen ist dies immer möglich.

Die Regeln werden in der Management Console unter Berechtigungen => regelbasierte Berechtigungsvergabe verwaltet.

Es gibt vier Arten von Regeln-Definitionen

1) über T-SQL

2) über C#

3) direkt über die Tabelle RIGHTOBJ (nur für CIs, nicht für Menügruppen).

4) direkte Zuordnung aller Objekte der Tabellen zu konkreten Berechtigten

Bei mehreren Regeln für eine Tabelle (oder für Menügruppen) kann die Ausführung über die Reihenfolge gesteuert werden. Es wird empfohlen, die Regeln in der folgenden Reihenfolge zu definieren:

1) Regeln über „Direkte Zuordnung aller Objekte der Tabellen zu konkreten Berechtigten“

2) Regeln über C#, die Regeln für alle CIs vergeben (z.B. für „Super-Admins“)

3) Regeln über C#, die „SQL Result Cache“ nutzen

4) Regeln über T-SQL

2.6.1 Regeln über T-SQL

Schreiben Sie ein T-SQL Script, welches die Berechtigungen für einen konkreten Webbenutzer erzeugt.

Der Webbenutzer steht in der Variable @pGrpID. Seine Berechtigungen speichern Sie (über insert) in der Tabelle #new_rights (Spalten „objid“ und „attr“).

Hinweis: Für eine Tabelle oder für Menügruppen können mehrere Regeln über T-SQL definiert werden.

Beispiel 1: Mitarbeiter hat auf die ihm zugeordneten Rechner (HWM.VCOL_ANW_ID) alle Rechte

insert into #new_rights (objid, attr)

select HWM_ID, 1+4+8+16 from HWM

where HWM.VCOL_ANW_ID=@pGrpID

Beispiel 2: Mitarbeiter der Gruppe “admin” dürfen alle Rechner sehen und bearbeiten.

if exists

(

      select * from ANWROL

      inner join ROL on ROL_ID=ANWROL_ROL_ID

      where ANWROL_ANW_ID=@pGrpID and ROL_NAME='admin'

)

insert into #new_rights (objid, attr)

select HWM_ID, 1+4 from HWM

Hinweis: Aus Optimierungssicht ist diese Konstruktion nicht optimal. Für die Fälle, dass ein konkreter Mitarbeiter oder eine konkrete Rolle bestimmte Berechtigungen für alle konkreten Objekte einer Tabelle erhalten soll, sollte die Berechtigungsvergabe über „Direkte Zuordnung allen Objekte der Tabellen zu konkreten Berechtigten“ erfolgen (siehe auch Punkt 2.6.4 Regeln über „Direkte Zuordnung aller Objekte der Tabellen zu konkreten Berechtigten“).

2.6.2 Regeln über C#

Schreiben Sie ein C# Script, welches die Berechtigungen für einen konkreten Webbenutzer erzeugt.

Alle notwendigen Parameter und Funktionen befinden sich in der Variable ctx von Typ rimacon.cmdb.scripting.DYNROBJ.Context

Die Logik ist ähnlich wie bei den Regeln über T-SQL, statt „insert“ sollte das Script die Funktion ctx.AddRights oder ctx.AddRightsForAllCIs aufrufen.

Hinweis: Für eine Tabelle oder für Menügruppen könne mehrere Regeln über C# definiert werden.

Hinweis: In C# kann zwar die Datenbank über die Kontextvariable db genutzt werden, dies ist aber nicht gewollt. Wir empfehlen, das Feature „SQL Result Cache“ zu nutzen. Die Datenbank sollte nur für einfache Abfragen genutzt werden. Wenn dies nicht möglich ist und kompliziertere SQL-Abfragen benötigt werden, empfehlen wir, die „Regeln über T-SQL“ zu nutzen.

Zusätzlich bietet C# mehrere Optimierungsmöglichkeiten:

a. Wenn die Berechtigungen für ein konkretes CI gefordert werden, steht die CI-ID in ctx.OneCIOnly . Die Scripte können entsprechend optimiert werden. Im Übrigen ist ctx.OneCIOnly gleich 0.

b. Für die Fälle „Webbenutzer hat für alle CIs der Tabelle eine konkrete Berechtigung“ kann die Funktion ctx.AddRightsForAllCIs genutzt werden. Dies ist aus Performancesicht deutlich besser als die T-SQL-Konstruktion „insert into #new_rights (objid, attr) select HWM_ID, 1+4 from HWM

c. Die Funktion ctx.NecessaryRightsReached() gibt zurück, ob die aus dem Kontext geforderten Berechtigungen erreicht wurden. Daher ist ein weiteres Erzeugen von Berechtigungen nicht notwendig.

d. Über cmdb.Rights.HasWebuserRole kann ermittelt werden, ob der Webbenutzer eine konkrete Rolle hat. Diese Ermittlung erfordert keinen DB-Zugriff, da die Beziehungen gecached werden.

e. In C# ist es möglich, das Feature „SQL Result Cache“ zu benutzen und die Berechtigungen in C# ohne DB-Zugriff zu erzeugen. Diese Problematik ist etwas komplizierter, bei Fragen wenden Sie sich bitte an den Support, wir helfen Ihnen gern.

Beispiel: Mitarbeiter der Gruppe “admin” dürfen alle Rechner sehen und bearbeiten.

if (cmdb.Rights.HasWebuserRole(ctx.AnwID, "admin"))

ctx.AddRightsForAllCIs(cmdb.Rights.SELECT | cmdb.Rights.UPDATE);

2.6.3 Regeln direkt über RIGHTOBJ

Normalerweise wird die Tabelle RIGHTOBJ automatisch von rimacon omniSuite gepflegt.

In der Tabelle RIGHTOBJ sind die Pärchen „wer“ und „was“ gespeichert.

„Wer“ kann ein konkreter Mitarbeiter (Tabelle ANW), eine konkrete Rolle (Tabelle ROL), eine Partnerfirma (Tabelle PAF) oder eine konkrete organisatorische Einheit (Tabelle ORG) sein.

„Was“ kann ein beliebiges CI sein.

Wenn die Option „Tabelle RIGHTOBJ benutzen“ (Kapitel 1.4.1) angekreuzt ist und in der Management Console unter „Berechtigungsvergabe => regelbasierte Berechtigungsvergabe“ keine Regeln vom Typ „Direkt“ definiert sind, wird diese Regel trotzdem genutzt, allerdings als letzte in der Reihenfolge. Wenn Sie die Reihenfolge ändern wollen, müssen Sie eine Regel vom Typ „direkt über RIGHTOBJ“ hinzufügen und die Reihenfolge ändern.

Hinweis: Für eine Tabelle kann diese Regel nur einmal definiert werden.

2.6.4 Regeln über „Direkte Zuordnung aller Objekte der Tabellen zu konkreten Berechtigten“

Wählen Sie einen konkreten Berechtigten aus und ordnen diesem zu, welche Berechtigungen er für alle Objekte der Tabelle hat.

Ein Berechtigter kann sein:

1) ein konkreter Mitarbeiter

2) eine konkrete Rolle (die Berechtigung gilt für alle Mitarbeiter, die diese Rolle haben)

3) eine konkrete Partnerfirma (die Berechtigung gilt für alle Mitarbeiter, die zu dieser Partnerfirma gehören)

4) eine konkrete Org.einheit (die Berechtigung gilt für alle Mitarbeiter, die zu dieser Org.einheit gehören)

Konkrete Beispiele:

- Mitarbeiter Otto Meier kann alle Prozesse sehen

- Rolle „hwadmin“ darf alle Rechner sehen, bearbeiten und anlegen

- Abteilung „IT-Vertrieb“ kann alle Server verwalten

2.7 Darstellung der Tabelle durch Attributnamen

Bestimmen der Spalten, die gemeinsam in den Auswahlmasken im Webinterface angezeigt werden, um die Tabelle schneller und genauer zu identifizieren.

Verfügbare Tabellen

Zeigt alle Spalten der Tabellen an, die in den Auswahlmasken zur Identifizierung der Tabelle angezeigt werden.

Anbinden weiterer Tabellen

Bereitstellen von weiteren Spalten anderer Tabellen, die mit der Ausgangstabelle in einer Beziehung stehen. Beispiel in den Auswahlmasken für Rechner soll immer die dazugehörige Domäne mit angezeigt werden.

SQL-Select (als Text)

Gibt die Formel (SQL-Anweisungen) an für die Darstellung der ausgewählten Attribute.

Beispiel: Für die Auswahl der Lizenzen soll neben dem Lizenzkey auch der Name des lizenzierten Produktes mit angezeigt werden:

LIC_main.LIC_KEY + ' ' + coalesce([ppd1].PPD_NAME,'')

SQL-Select (als HTML)

Wenn es möglich ist, aus dem Kontext HTML für die Darstellung zu nutzen und diese Formel nicht leer ist, wird diese statt „SQL-Select (als Text)“ genutzt. Ergebnisse aus dieser Formel werden 1:1 als HTML betrachtet und ermöglichen es daher z.B. Bilder zu nutzen. Um Konflikte mit den Zeichen <,>," und & zu vermeiden, benutzen Sie die SQL-Funktion dbo.fnc_htmlspecialchars.

Beispiel für Tabelle ANW: Bild abhängig von Spalte ANW_Extern

(case ANW_Extern

when 1 then '<img src="pics/PAF16.gif">'

else '<img src="pics/ANW16.gif">'

end)

+ '&nbsp;' + dbo.fnc_htmlspecialchars(ANW_Name1 + ' ' + ANW_Name2)

SQL Where

Hier kann die Menge der angezeigten Tabellenwerte eingeschränkt werden.

Beispiel: ein Produkt kann mehrfach lizenziert sein, bei der Auswahl der Lizenzen soll je Produkt aber nur eine Lizenz zur Auswahl angezeigt werden.

licppd1.licppd_art = 0 (0=erste Lizenz)       

SQL Order By       

Gibt die Formel an, nach welcher Tabellenspalte die Anzeigewerte in der Auswahlmaske sortiert werden.

2.8 Eindeutigkeit

Bestimmen der Spaltengruppen (eine oder mehrere Gruppen), die für die Tabelle nur einmal vergeben werden dürfen (eindeutige Identifizierung, keine Mehrfachvergabe).

Eindeutigkeit für ein bestimmtes Attribut

Eindeutigkeit für mehrere Attribute, die zusammen eindeutig sein müssen

Beispiel: für das Objekt „Kontodaten“ muss die Kombination von BLZ und Kontonummer eindeutig sein

Eindeutigkeit für mehrere Attribute, wobei jedes Attribut für sich eindeutig sein muss. Beispiel: für das Objekt „Server“ müssen sowohl die Anlagennummer als auch der Servername eindeutig sein.

Attribute (Eigenschaften / Merkmale)

Alle beschreibenden Attribute der Entitäten und Beziehungen werden in einer Attributliste unter Attributkatalog angezeigt. Es werden alle im Attributkatalog gespeicherten und auch die nicht im Attributkatalog gespeicherten Attribute angezeigt. Jedes angezeigte Attribut kann auch anderen Entitäten und Beziehungen zugewiesen werden können. So kann vermieden werden, dass gleiche Attribute mehrfach vergeben werden.

siehe auch Punkt 14.2 Attributkatalog

3.1 Namenskonventionen

Für die Namen der Spalten (Attribute) müssen folgende Namenskonventionen eingehalten werden:

a) Präfix "VCOL_"

b) Die nachfolgende Namenseingabe darf nicht nur aus Nummern bestehen z.B. nicht VCOL_2, VCOL_56, …

c) Zulässige Zeichen sind : a-z, A-Z, 0-9, _

d) Der gesamte Name inkl. Präfix muss mindestens 6 Zeichen, darf aber höchstens 58 Zeichen lang sein

Beispiele: VCOL_Name, VCOL_Vorname, VCOL_router_id

Bei Tabellen, die standardmäßig von rimacon vorgegeben werden, gelten die Namenskonventionen für Tabellenspalten nicht.

3.2 Attributarten

Es gibt fünf Arten von Attributen:

1) Basisattribute (Eigenschaften/Merkmale)

2) Fremdschlüssel: um Beziehungen (0:n; 1:n oder n:m) zwischen Tabellen zu erstellen

3) Multifremdschlüssel: erweiterte Art von Beziehungen: Beziehungen, die eine 0:1/1:n-Beziehung oder eine n:m-Beziehung zu vielen anderen Tabellen eingehen

4) dynamische Attribute: Inhalt ist dynamisch

5) Attachment

3.2.1 Basisattribute (Eigenschaften / Merkmale)

Datentypen

MS SQL Typ / Beschreibung

Nummer (Gleitkommadaten)

real

Zeichenfolge (german)

varchar(1) bis varchar(8000) oder varchar(max)

Zeichenfolge (unicode)

nvarchar(1) bis nvarchar(4000) oder nvarchar(max)

Datum

varchar(20)

Datum ohne Zeit!

Datei

Auf physischer Ebene entstehen vier Spalten:

1) varchar(256)

Diese Spalte enthält den Namen der hochgeladenen Datei. Die Spalte ist in der Datenbank nicht sichtbar.

2) text

Diese Spalte enthält den Inhalt der Datei. Die Spalte ist in der Datenbank nicht sichtbar.

Der physische Name hat das Suffix "_FileContent". Die Spalte wird in der rimacon Management Console und im Webinterface nicht angezeigt.

3,4) varchar(256) / int

Diese zwei Spalten werden für "check in/check out" genutzt und enthalten die Berechtigungen für „check in“. Die physischen Namen haben die Suffixe "_FileOwnerType“ und "_FileOwnerID“

Beide Spalten sind in der Datenbank nicht sichtbar.

Zeichenfolge (mehrzeilig, german)

varchar(1) bis varchar(8000) oder varchar(max)

Zeichenfolge (mehrzeilig, unicode)

nvarchar(1) bis nvarchar(4000) oder nvarchar(max)

Nummer (Ganzzahlige)

Int

Auswahl

Dieses Attribut erzeugt drei Spalten:

1. physische Spalte, Typ ist "int“

2. dynamische Spalte, Typ ist "varchar(1)- varchar(8000)“

3. dynamische Spalte (Bild), Typ ist HTML-Direkt

Die physische Spalte (1) enthält den numerischen Wert (1,2,3,…), die dynamische Spalte (2) gibt das Textäquivalent zurück (PC, Server, Notebook, …). Die dritte dynamische Spalte (3) zeigt das zugeordnete Bild für den Auswahlwert an.

Alle drei erzeugten Spalten sind in der Datenbank sichtbar.

Link

varchar(256)

Der Inhalt wird wie ein HTML-Link dargestellt (<a></a> ).

Beispiel: http://meinefirma.de/kontakt.php

Link (Inhalt)

varchar(256)

Der Inhalt wird als Datei betrachtet, d.h. nur der Inhalt wird durch den Browser dargestellt, nicht aber das Script ausgeführt. Die Darstellung des Inhalts ist browserabhängig.

Beispiel: http://mein_server/logins/S2308.bat

dezimal

decimal (Länge, Dezimalstellen)

Datum und Zeit

datetime

HTML (Direkt)

varchar(1) bis varchar(8000)

Der Inhalt wird unverändert im Webinterface angezeigt, ohne die Spezialzeichen zu konvertieren.

Beispiel: Inhalt "<b>rimacon</b>" wird als "rimacon" dargestellt.

Erstellung / Bearbeitung von Basisattributen

Registerkarte „Allgemein”

Verwenden Sie diese Registerkarte, um Basisattribute anzulegen, sie zu beschreiben und Optionen für die Bearbeitung und Nutzung der Basisattribute festzulegen,

Name

      tatsächlicher Spaltenname

      Eingabe des physischen Attributnamens, wobei die Namenskonvention eingehalten werden muss.

      Wird kein Name vergeben, wird der Attributname automatisch generiert.

       siehe auch Punkt 3.1 Namenskonventionen

      Benutzername

      Name des Attributs, der im Webinterface verwendet wird

Typ

Verwendeter Datentyp des Attributs (siehe auch Punkt 3.2.1 Basisattribute (Eigenschaften / Merkmale)).

Beim Typ „Auswahl“ können die Auswahlwerte über Button "Auswahlwerte definieren" definieren, siehe auch Punkt 3.2.1.1 Auswahlwerte definieren.

Muss-Feld

Gibt an, ob ein Wert für dieses Attribut eingegeben werden muss.

Standardwert

Gibt an, welchen Wert das Attribut bei der Ausgabe annimmt. (Initialwert). Der Wert kann fest vorgegeben oder über eine Funktion (Angabe SQL) ermittelt werden.

siehe auch Punkt 6.1 Benutzerdefinierte Funktionen

Standardanzeigeformat

Gibt an, in welchem Format der Wert standardmäßig angezeigt wird, z.B. negativer Wert in rot, Beträge in Euro oder Wert als Graph.

siehe auch Punkt 9.5 Anzeigeformate

Darstellung der Tabelle durch Attributnamen

Wenn angekreuzt, wird diese Spalte für die „Darstellung der Tabelle durch Attributnamen“ genutzt. Wenn die „Darstellung der Tabelle durch Attributnamen“ schon definiert ist, wird sie überschrieben.

siehe auch Punkt 2.7 Darstellung der Tabelle durch Attributnamen

Eindeutigkeit

Wenn angekreuzt, wird diese Spalte auf Eindeutigkeit überprüft. Weitere Definitionsmöglichkeiten werden unterstützt.

siehe auch Punkt 2.4 Erstellung / Bearbeitung von Tabellen

Im zentralen Attributkatlog aufnehmen

Wenn angekreuzt, wird diese Spalte im zentralen Attributkatalog gespeichert. Diese Option ist nur für neue Spalten (noch nicht gespeichert) aktiv.

Beschreibung

Beschreibung des Attributs. Die Beschreibung wird im Webinterface als feldsensitive Hilfe „?“ genutzt.

Registerkarte „Erweiterte Einstellungen“

Verwenden Sie diese Registerkarte, um weitere Eigenschaften für das Attribut zu beschreiben.

Anzeige Einstellungen

Diese Einstellungen gelten für die physikalische Spalte.

Anzeige Textäquivalent

Diese Einstellungen gelten für die Textäquivalent-Spalten und wird nur bei dem Attributtyp „Auswahl“ genutzt.

Anzeige Bild

Diese Einstellungen gelten für die Bild-Spalten und wird nur bei dem Attributtyp „Auswahl“ genutzt.

Generell:

im Bearbeitungsformular anzeigen

Gibt an, ob das Attribut im generierten Standardbearbeitungsformular für die Tabelle genutzt wird.

Im Webinterface anzeigen

Gibt an, ob das Attribut standardmäßig in der generierten Sicht auf die Tabelle angezeigt wird.

In 360-Grad-Sicht anzeigen

Gibt an, ob das Attribut in der generierten 360-Grad-Sicht-Maske angezeigt wird.

Kontextmenü anzeigen

Gibt an, ob im Webinterface ein Kontextmenü geöffnet werden soll. Standard ist, dass es geöffnet wird, aber bei einigen Attributen ist es unerwünscht.

Im Schnellfilter anzeigen

Gibt an, ob im Schnellfilter (Webinterface) das Attribut angezeigt wird.

Registerkarte „Allgemein”

Verwenden Sie diese Registerkarte, um Auswahlwerte für das Attribut zu definieren.

Nummer

Nummer der Auswahlwerte

Text

Gibt den Wert an, der als Wert für diese Nummer gilt.

Bild (16X16)

Gibt den Pfad des Bild-Icons an, das als grafisches Symbol für das CI im Explorer verwendet wird, wenn dem Attribut dieser Auswahlwert zugewiesen wurde.

Ermittlung über SQL

SQL-Anweisungen, mit denen der Auswahlwert automatisch generiert wird.

3.2.1.1 Auswahlwerte definieren

In dieser Maske werden die definierten Auswahlwerte angezeigt:

Spalte Reihenfolge: Reihenfolge, in der die Auswahlwerte in einer Auswahlliste angezeigt werden.

Spalte Nummer: Nummer des Auswahlwertes (physisches Attribut)

Spalte Text: Wert für die Nummer

Spalte Bild: Pfad des Bild-Icons (siehe auch Punkt 1.26 Maske „Bild Auswählen“). Das Icon wird als grafisches Symbol für das Objekt im Explorer (Visualisierung der Datenbank) verwendet, sofern dem Attribut dieser Auswahlwert zugewiesen wurde.

Über das Kontextmenü (rechte Maustaste) kann zur Definition, zur Bearbeitung oder zum Löschen eines Auswahlwertes verzweigt werden.

Über die Buttons „nach oben“ und „nach unten“ kann die Reihenfolge geändert werden.

Von anderer Quelle kopieren: Ermöglich kopieren von anderer Spalte oder Attributkatalog.

3.2.2 Fremdschlüssel

Fremdschlüssel ist ein Attribut von Typ "int" und enthält die ID der Tabelle (5,23,198,…), welche auf den Primärschlüssel einer anderen Entität verweist. Für jede Zuordnungsrichtung der Beziehung lässt sich Art und Typ der Beziehung definieren.

Bei der Anlage eines Fremdschlüssels wird automatisch eine dynamische Spalte generiert, die das Textäquivalent zurückgibt, z.B. Fremdschlüssel „Partnerfirma-ID“ wird als dynamisches Textfeld „Microsoft“, „Google, Sonyzurückgegeben.

Die Formel, die die ID als Text zurückgibt, wird unter Darstellung der Tabelle durch Attributnamen definiert, siehe auch Punkt 2.7 Darstellung der Tabelle durch Attributnamen.

Erstellung / Bearbeitung von Fremdschlüsseln

Registerkarte „Allgemein”

Verwenden Sie diese Registerkarte, um Beziehungen zwischen den Tabellen aufzubauen.

Name

Eingabe des physischen Namens des Fremdschlüssels der Fremdtabelle, wobei die Namenskonvention eingehalten werden muss. Wird kein Name vergeben, wird der Attributname automatisch generiert

siehe auch Punkt 3.1 Namenskonventionen

Benutzername

Name des Fremdschlüssels, der im Webinterface verwendet wird.

Typ

0:n oder 1:n

Gibt an, ob es sich um eine Muss- oder Kann-Beziehung handelt.

Fremdtabelle

Gibt an, mit welcher Tabelle eine Beziehung hergestellt wird.

als 1:1-Beziehung behandeln

Gibt an, dass bei der Zuordnung im Webinterface nur zu einer Ausprägung der Tabelle zugeordnet werden kann.

Im zentralen Attributkatlog aufnehmen

Wenn angekreuzt, wird diese Spalte im zentralen Attributkatalog gespeichert. Diese Option ist nur für neue Spalte (noch nicht gespeichert) aktiv.

Beschreibung

Beschreibung des Fremdschlüssels. Die Beschreibung wird im Webinterface als feldsensitive Hilfe „?“

genutzt.

Registerkarte „Kardinalität (direkt)”

Benutzen Sie diese Registerkarte, um die 0:n oder 1:n-Beziehungen zwischen Tabellen näher zu beschreiben und die Optionen für die Bearbeitungs- und Auswertungsmöglichkeiten festzulegen.

bei Anzeige

      benutzen

      Gibt an, ob zur Fremdtabelle (Beziehungstabelle) aus dem Kontextmenü heraus verzweigt werden kann.

      Beschreibung der Beziehung, die im Kontextmenü unter „Auswertung“ für die Auswahl/Selektion der Tabelle angezeigt wird.

      Im Kontexmenü nicht anzeigen, wenn keine Objekte vorhanden

      Wenn aktiviert und es sind keine zugeordnete Objekte vorhanden – taucht ein Menüpunkt für "Anzeige von zugeordneten Objekten" nicht auf

bei Bearbeitung

      benutzen

      Gibt an, ob die Selektion und Zuordnung der Fremdtabelle (Beziehungstabelle) direkt aus dem Kontextmenü möglich ist.

      Beschreibung der Beziehung, die im Kontextmenü unter „bearbeiten“ für die Auswahl/Selektion der Tabelle angezeigt wird.

Bez.beschreibung (generell)

Beziehungsbeschreibung, die im Explorer bei der Analyse der Beziehungen angezeigt wird.

Bez.beschreibung (konkret)

Die Beziehungsbeschreibung ist standardmäßig ein fixen Text. Hier kann der Text dynamisch definiert werden, abhängig von konkreten n- und m-Objekten und weiteren Eigenschaften.

Kontext-Untermenü.

Zuordnung der Beziehung zu einem Kontext-Untermenü..

Neu: Anlegen eines neuen Kontext-Untermenüs

Durch die Zuordnung der Beziehungen zu einem Kontext-Untermenüs wird eine weitere Detailtiefe im Webinterface für die Auswahl-/Selektion der Beziehungen im Kontextmenü erstellt (Drill Down).

Beziehungstyp

Gibt die Art des Beziehungstyps an. Diese Angabe kann bei der Festlegung von Art und Umfang der zu analysierenden Beziehungen für die unterschiedlichen Analysen wie z.B. Impact-Analyse, Fehlerursachenanalyse etc., herangezogen werden, siehe auch Punkt 9.8 Analysestrukturen .

Neu: Anlegen eines neuen Beziehungstyps.

Registerkarte „Kardinalität (indirekt)“

Analog zur Registerkarte „Kardinalität (direkt).

Registerkarte „Erweiterte Eigenschaften“

Verwenden Sie diese Registerkarte, um weitere Eigenschaften für den Fremdschlüssel zu definieren.

Standardwert

Gibt an, welchen Wert das Attribut bei der Ausgabe annimmt. (Initialwert). Der Wert kann fest vorgegeben oder über eine Funktion (Angabe SQL) ermittelt werden (siehe auch Punkt 6.1 Benutzerdefinierte Funktionen).

Anzeige Einstellungen

Diese Einstellungen gelten für die physikalische Spalten (Numerische ID).

Anzeige Textäquivalent

Diese Einstellungen gelten für die Textäquivalent-Spalten.

Generel:

im Bearbeitungsformular anzeigen

Gibt an, ob das Attribut im generierten Standardbearbeitungsformular für die Tabelle genutzt wird.

Im Webinterface anzeigen

Gibt an, ob das Attribut standardmäßig in der generierten Sicht auf die Tabelle angezeigt wird.

In 360-Grad-Sicht anzeigen

Gibt an, ob das Attribut in der generierten 360-Grad-Sicht-Maske angezeigt wird.

Kontextmenü anzeigen

Gibt an, ob im Webinterface ein Kontextmenü geöffnet werden soll. Standard ist , dass es geöffnet wird, aber bei einigen Attributen ist es unerwünscht.

3.2.3 Multifremdschlüssel

Multifremdschlüssel ist ein Attribut, welches auf die Primärschlüssel mehrerer weiterer Tabellen verweist und so die die Definition von Beziehungen zwischen Tabellen erleichtert, die eine 0:1-/1:n-Beziehung oder eine n:m-Beziehung zu vielen anderen Tabellen eingehen.

In Hintergrund entstehen:

1. zwei physische Spalten von Typ int und varchar(63). Die varchar(63)-Spalte enthält den Namen der Fremdtabelle (z.B. ANW,ORG, VTAB_Incident ,…) , die INT-Spalte enthält die ID des Objekts.

2. zwei dynamische Spalten, die die Textäquivalente der zwei physischen Spalten zurückgeben.

Beispiel: Tabelle mit Multifremdschlüssel auf physischer Ebene:

Tabelle VTAB_Rechner (physische Ebene)

VTAB_Rechner_ID

VCOL_Rechner_MDT_ID

VCOL_Name

VCOL_Zust_TAB

VCOL_Zust_ID

1

1

S5896

ORG

5

2

1

S6231

PAF

8

3

1

NB-9876

PAF

15

4

1

NB-1234

ANW

12

5

1

S5566

ANW

8

Tabelle Rechner (im Webinterface)

Primärschlüssel

Name

Zust.

[Tabelle]

Zust.

Zust.

[Tabelle]

[Text]

Zust.

[Text]

1

S5896

ORG

5

Org.einheit

Entwicklung

2

S6231

PAF

8

Partnerfirma

Microsoft

3

NB-9876

PAF

15

Partnerfirma

Sony

4

NB-1234

ANW

12

Mitarbeiter

Hans Mustermann

5

S5566

ANW

8

Mitarbeiter

Boris Becker

Vergleich Fremdschlüssel vs. Multifremdschlüssel:

Fremdschlüssel:

Für jeden Rechner ist ein (nicht mehrere) Mitarbeiter zuständig. D.h., die Tabelle Rechner enthält einen Fremdschlüssel auf die Tabelle Mitarbeiter.

Multifremdschlüssel:

Für jeden Rechner ist entweder ein (nicht mehrere) Mitarbeiter oder eine (nicht mehrere) Partnerfirma oder eine (nicht mehrere) Abteilung zuständig.

Erstellung / Bearbeitung von Multifremdschlüsseln

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um Oder-Beziehungen zwischen den Tabellen aufzubauen.

siehe auch Punkt 3.2.3 Multifremdschlüssel

Tatsächlicher ID-Spaltenname

Eingabe des physischen ID-Spaltennamens (Fremdschlüssel) der möglichen Fremdtabelle.

Tatsächliche Tabellennamen-Spalte

Eingabe des physischen Namens des Fremdschlüssels der möglichen Fremdtabelle.

Bei der Eingabe der beiden Spaltennamen für die Fremdschlüssel der möglichen Fremdtabelle müssen die Namenskonventionen eingehalten werden. Werden keine Namen vergeben, werden die Spaltenamen automatisch generiert.

siehe auch Punkt 3.1 Namenskonventionen

Benutzername

Name des Fremdschlüssels, der im Webinterface verwendet wird.

0:n oder 1:n

Gibt an, ob es sich um eine Muss- oder Kann-Beziehung handelt.

als 1:1-Beziehung behandeln

Gibt an, dass bei der Zuordnung im Webinterface nur zu einer Ausprägung der Tabelle zugeordnet werden kann.

Beschreibung

Beschreibung des Multifremdschlüssels. Die Beschreibung wird im Webinterface als feldsensitive Hilfe „?“ genutzt.

Registerkarte „Kardinalität (direkt)“

Benutzen Sie diese Registerkarte, um die 0:n oder 1:n-Beziehungen zwischen Tabellen näher zu beschreiben und die Optionen für die Bearbeitungs- und Auswertungsmöglichkeiten festzulegen.

bei Anzeige

Checkbox „benutzen“

Gibt an, ob zur Fremdtabelle (Beziehungstabelle) aus dem Kontextmenü heraus verzweigt werden kann.

Textfeld

Beschreibung der Beziehung, die im Kontextmenü unter „Auswertung“ für die Auswahl/Selektion der Tabelle angezeigt wird.

bei Bearbeitung

Checkbox „benutzen“

Gibt an, ob die Selektion und Zuordnung der Fremdtabelle (Beziehungstabelle) direkt aus dem Kontextmenü möglich ist.

Textfeld

Beschreibung der Beziehung, die im Kontextmenü unter „bearbeiten“ für die Auswahl/Selektion der Tabelle angezeigt wird

Beziehungsbeschreibung (generell)

Beziehungsbeschreibung, die im Explorer bei der Analyse der Beziehungen angezeigt wird.

Beziehungsbeschreibung (konkret)

Die Beziehungsbeschreibung ist standardmäßig ein fester Text. Hier kann der Text dynamisch definiert werden, abhängig von konkreten n- und m-Objekten und weiteren Eigenschaften.

Kontext-Untermenü

Zuordnung der Beziehung zu einem Kontext-Untermenü.

Neu: Anlegen eines neuen Kontext-Untermenüs

Durch die Zuordnung der Beziehungen zu einem Kontext-Untermenü wird eine weitere Detailtiefe im Webinterface für die Auswahl/Selektion der Beziehungen im Kontextmenü erstellt (Drill Down).

Beziehungstyp

Gibt die Art des Beziehungstyp an. Dies Angabe kann bei der Festlegung von Art und Umfang der zu analysierenden Beziehungen für die unterschiedlichen Analysen wie z.B. Impact-Analyse, Fehlerursachenanalyse etc., herangezogen werden.

Neu: Anlegen eines neuen Beziehungstyps.

Registerkarte „Kardinalität (indirekt)“

Analog zur Registerkarte „Kardinalität (direkt).

Registerkarte „mögliche Tabellen“

Benutzen Sie diese Registerkarte, um die möglichen Beziehungen zwischen den Tabellen (0:n, 1:n) hinzuzufügen, zu löschen oder zu bearbeiten.

mögliche Tabellen

Zeigt alle Tabellen an, mit denen die Tabelle eine 0;n-/1:n-Beziehung eingehen kann.

Optionen:

hinzufügen

Fügt der Tabelle eine mögliche Fremdtabelle (Beziehungstabelle) zu.

bearbeiten

Die ausgewählte hinzugefügte Tabelle kann bearbeitet werden.

löschen

Die ausgewählte Tabelle kann gelöscht werden.

Registerkarte „Erweiterte Eigenschaften“

Verwenden Sie diese Registerkarte, um weitere Eigenschaften für den Multifremdschlüssel zu definieren,

Anzeige-Einstellungen (ID)

Diese Einstellungen gelten für die physikalische Spalten, die die numerische ID enthält.

Anzeige-Einstellungen (Tabelle)

Diese Einstellungen gelten für die physikalische Spalten, die den Tabellennamen enthält.

Anzeige-Einstellungen ID-Textäquivalent

Diese Einstellungen gelten für die ID-Textäquivalent-Spalten.

Anzeige-Einstellungen Tabelle-Textäquivalent

Diese Einstellungen gelten für die ID-Textäquivalent-Spalten.

Generel:

im Bearbeitungsformular anzeigen

Gibt an, ob das Attribut im generierten Standardbearbeitungsformular für die Tabelle genutzt wird.

Im Webinterface anzeigen

Gibt an, ob das Attribut standardmäßig in der generierten Sicht auf die Tabelle angezeigt wird.

In 360-Grad-Sicht anzeigen

Gibt an, ob das Attribut in der generierten 360-Grad-Sicht-Maske angezeigt wird.

Kontextmenü anzeigen

Gibt an, ob im Webinterface ein Kontextmenü geöffnet werden soll. Standard ist , dass es geöffnet wird, aber bei einigen Attributen ist es unerwünscht.

3.2.4 Dynamische Attribute

Dynamische Attribute, deren Daten erst bei der Ausgabe der Entität ermittelt werden. Die dynamischen Attribute werden nicht gespeichert. Dynamische Attribute werden z.B. verwendet, um

1. einen Wert, wie z.B. Lizenzstatus, oder die Installationshäufigkeit eines Softwareproduktes zu ermitteln (Ausgabewert eines Attributs). Der Wert wird erst bei der Ausgabe der Entität ermittelt.

2. um z.B. Entitäten anzubinden, die mit der Entität eine Beziehung eingehen. Beispiel: zwischen den Entitäten „Mitarbeiter“ und “Rolle“ besteht eine n:m-Beziehung. Bei der Ausgabe der Entität „Mitarbeiter“ sollen in dem dynamischen Attribut „Rolle“ alle zugeordneten Rollen angezeigt werden.

Es gibt zwei Arten von dynamischen Attributen:

1. (von rimacon) vorgegebene Attribute

2. benutzerdefinierte Attribute

3.2.4.1 Vorgegebene / generierte dynamische Attribute

a) bei Fremdschlüssel

Die Spalte gibt das Textäquivalent zurück, siehe auch Punkt 3.2.2 Fremdschlüssel

b) bei Multifremdschlüssel

Eine Spalte gibt das Textäquivalent der Fremdtabelle zurück (z.B. "Partnerfirma", "Org.einheit", …), die zweite Spalte gibt das Textäquivalent des Objektes zurück (z.B. "Microsoft", "Hans Mustermann", "Entwicklung", …).

siehe auch Punkt 3.2.3 Multifremdschlüssel

c) bei Auswahlwerten

Die erste Spalte gibt das Textäquivalent des Wertes zurück (z.B. "PC", "Server", "Notebook", …), die zweite Spalte zeigt das zugeordnete Bild für den Auswahlwert an.

a) bei Attachments, siehe auch Punkt 3.2.5 Attachment

3.2.4.2 Benutzerdefinierte dynamische Attribute

Der Nutzer definiert ein SQL-Script, in dem der auszugebende Werte ermittelt wird.

Vor der Berechnung wird eine temporäre Tabelle mit zwei Spalten erstellt, wie z.B.:

create table #vtab_rechner_dyn_1(VTAB_Rechner_ID, VCOL_123)

Im nachfolgenden SQL-Script wird für das dynamische Attribut “VCOL_123” der Wert berechnet.

SQL-Scripte arbeiten mit drei vordefinierten Variablen:

1. $_TT : Name der Temp-Tabelle, z.B. #vtab_rechner_dyn_1

2. $_ColID: Name der ID-Spalte, z.B. VTAB_Rechner_ID

3. $_ColValue: Name der Result-Spalte, z.B. [#vtab_rechner_dyn_1].[VCOL_123]

Da das SQL-Script direkt mit der rimacon-engine verknüpft wird, sollten die SQL-Scripte keine festen Variablen-Namen benutzen. Beispiel:

Falsch: declare @cnt int

Richtig: declare @$cnt int

Beispiel 1: Typ Zeichenfolge, Länge 50

update $_TT set $_ColValue='hallo'

Ergebnis

Name

RAM

Test SQL

NB0001

384

Hallo

S1111

512

Hallo

S2222

768

Hallo

S3333

1024

Hallo

S4444

3072

Hallo

S5555

2048

Hallo

Beispiel 2: Typ Zeichenfolge, Länge 50

update $_TT

set $_ColValue='RAM=' + convert(varchar(20),VTAB_Rechner.VCOL_RAM) + ' MB'

from $_TT

inner join VTAB_Rechner on VTAB_Rechner.VTAB_Rechner_ID=$_TT.$_ColID

Ergebnis

Name

RAM

Test SQL

NB0001

384

RAM=384 MB

S1111

512

RAM=512 MB

S2222

768

RAM=768 MB

S3333

1024

RAM=1024 MB

S4444

3072

RAM=3072 MB

S5555

2048

RAM=2048 MB

Beispiel 3: Typ Zeichenfolge, Länge 50

update $_TT set $_ColValue='zu wenig für Vista' from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM<768

update $_TT set $_ColValue='knapp für Vista' from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM>=768 and R.VCOL_RAM<=1023

update $_TT set $_ColValue='ausreichend für Vista' from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM>=1024 and R.VCOL_RAM<=2047

update $_TT set $_ColValue='mehr als ausreichend für Vista' from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM>=2048

Ergebnis

Name

RAM

Test SQL

NB0001

384

zu wenig für Vista

S1111

512

zu wenig für Vista

S2222

768

Knapp für Vista

S3333

1024

ausreichend für Vista

S4444

3072

mehr als ausreichend für Vista

S5555

2048

mehr als ausreichend für Vista

Beispiel 4: Typ HTML (direkt) , Länge 100

update $_TT set $_ColValue='<span style="color:red">zu wenig für Vista</span>' from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM<768

update $_TT set $_ColValue='<span style="color:gray">knapp für Vista</span>' from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM>=768 and R.VCOL_RAM<=1023

update $_TT set $_ColValue='ausreichend für Vista' from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM>=1024 and R.VCOL_RAM<=2047

update $_TT set $_ColValue='<span style="color:blue">mehr als ausreichend für Vista</span>' from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM>=2048

Ergebnis

Name

RAM

Test SQL

NB0001

384

zu wenig für Vista

S1111

512

zu wenig für Vista

S2222

768

Knapp für Vista

S3333

1024

ausreichend für Vista

S4444

3072

mehr als ausreichend für Vista

S5555

2048

mehr als ausreichend für Vista

3.2.4.3 Erstellung / Bearbeitung von dynamischen Attributen

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um dynamische Attribute anzulegen, sie zu beschreiben und Optionen für die Bearbeitung und Nutzung festzulegen.

Name

Name des dynamischen Attributs, der im Webinterface verwendet wird.

Typ

Verwendeter Datentyp des Attributs siehe auch Punkt 3.2.1 Basisattribute (Eigenschaften / Merkmale)

Registerkarte „SQL“

Variablen

Zeigt die drei Variablen, die bei der Script-Erstellung verwendet werden können.

SQL über SQL-Assistenten generieren

SQL-Anweisungen/-Scripte für gängige Werteermittlungen oder Einordnungen (Kategorisierungen) oder grafische Darstellungen (z.B. Icons, Graph) werden automatisch generiert.

Über den SQL-Assistenten können auch benutzerdefinierte Funktionen ausgewählt werden. Die entsprechenden Parameter können einfach ausgewählt werden (Klick auf die Spalte im Assistentenbild für Parameter).

siehe auch Punkt 6.1 Benutzerdefinierte Funktionen

benutzerdef. Funktion

Auswahl von benutzerdefinierten Funktion, die zur Werteermittlung in das SQL-Script mit eingebunden werden

siehe auch Punkt 6.1 Benutzerdefinierte Funktionen

Registerkarte „Erweiterte Einstellungen“

Verwenden Sie diese Registerkarte, um weitere Eigenschaften für das dynamische Attribut zu beschreiben.

Beschreibung

Beschreibung des Attributs. Die Beschreibung wird im Webinterface als feldsensitive Hilfe „?“

genutzt.

Standardanzeigeformat

Gibt an, in welchem Format der Wert standardmäßig angezeigt wird. Beispiel: negativer Wert in rot, Beträge in Euro oder Wert als Graph.

siehe auch Punkt 9.5 Anzeigeformate

im Webinterface standardmäßig anzeigen

Gibt an, ob das Attribut standardmäßig in der generierten Sicht auf die Tabelle angezeigt wird.

Im Detail (Standard) anzeigen

Gibt an, ob das Attribut in der generierten Standarddetailmaske angezeigt wird.

Kontextmenü

Gibt an, ob im Webinterface bei Anklicken ein Kontextmenü geöffnet sein soll. Standard ist „ja“, aber bei einigen Attributen ist es unerwünscht.

3.2.4.4 Parametrisierte benutzerdefinierte dynamische Attribute

Bei benutzerdefinierten SQL-Attributen besteht auch die Möglichkeit, dem SQL-Script einen oder mehrere Parameter zu übergeben. Für den Parameter wird der Name und der Typ des Parameters definiert. Folgende Funktionen stehen für die Werteermittlung zur Verfügung:

fnc_ReportVCOLPRM_GetINT (auch für Fremdschlüssel)

fnc_ReportVCOLPRM_GetREAL

fnc_ReportVCOLPRM_GetDATETIME

Beispiel: neue Spalte „RAM ausreichend“, Typ Zeichenfolge(50)

Parameter#1:

Name: RAM [MB]

Typ: Nummer (ganzzahlige)

DB-Name: RAM

Test in Management Console:

declare @$ram int

set @$ram=dbo.fnc_ReportVCOLPRM_GetINT($_ReportVCOL_ID,'RAM')

update $_TT set $_ColValue='Sie haben ' + str(@$ram) + ' eingegeben' declare @$ram int

set @$ram=dbo.fnc_ReportVCOLPRM_GetINT($_ReportVCOL_ID,'RAM')

update $_TT set $_ColValue='Sie haben ' + str(@$ram) + ' eingegeben'

Funktion, die produktiv genutzt wird:

declare @$ram int

set @$ram=dbo.fnc_ReportVCOLPRM_GetINT($_ReportVCOL_ID,'RAM')

update $_TT set $_ColValue='genug'

update $_TT

set $_ColValue='nicht genug'

from $_TT

inner join VTAB_Rechner R on R.VTAB_Rechner_ID=$_TT.$_ColID

where R.VCOL_RAM<@$ram

Registerkarte „Parameters“

Verwenden Sie diese Registerkarte, um die Parameter festzulegen, die im SQL-Script verwendet werden, um den Wert zu ermitteln.

Parameter

Anzeige aller Parameter, die dem SQL-Script zur Berechnung bzw. Ermittlung übergeben werden („DB-Name“ wird intern im SQL-Script verwendet; „Name“ wird als Parameterbezeichnung im Webinterface verwendet; „TYP“ Datentyp des Parameters oder Fremdschlüssel einer Tabelle, der als Parameter herangezogen wird).

Hinzufügen / Bearbeiten      

DB-Name

Name der im SQL-Script als Parametername verwendet wird.

Name

Name der im Webinterface für die Eingabe oder Auswahl des Parameters verwendet wird.

Typ

Verwendeter Datentyp des Parameters oder Fremdschlüssel einer Tabelle.

Fremdtabelle

Gibt an, welcher Fremdschlüssel einer Beziehungstabelle als Parameter im herangezogen wird (Auswahl im Webinterface).

            

Beschreibung

Dokumentation des Parameters

3.2.4.5 Dynamische Attribute über CTE

Im Gegensatz zum Attribut in Kapitel 2.2.4.2 wird keine temporäre Tabelle genutzt. Der Inhalt wird über einen SQL-Select-Befehl definiert, welcher im Hintergrund als Inhalt für „SQL Server common table expression“ (nachfolgend: CTE) genutzt wird. Dieses CTE wird über den Primärschlüssel angebunden.

Der SQL-Befehl muss genau zwei Spalten und genau in dieser Reihenfolge zurückgeben:

xid: entspricht dem Primärschlüssel aus der Basistabelle

xtext: entspricht dem Inhalt

Beispiel: Typ Zeichenfolge, Länge 522

select anw_id as xid, 'Vollname=' + ANW_Name1 + ' ' + ANW_Name2 as xtext

from ANW

Für komplizierte Fälle, bei denen SQL Server CTE nicht möglich ist, muss das dynamische Attribut aus Kapitel 2.2.4.2 genutzt werden.

Hinweis: Wenn Sie einige bestehende Attribute aus Kapitel 2.2.4.2 in CTE umwandeln wollen, benutzen Sie Kontextmenü => Alle Tasks => Ändern auf [CTE]. Alle Parameter bis auf das SQL-Script bleiben unverändert, nur das SQL-Script muss angepasst werden. Über diesen Weg müssen die bestehenden und vordefinierten Webinterface-Listenkonfigurationen nicht geändert werden.

Eine umgekehrte Umwandlung ist ebenso möglich.

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um dynamische Attribute anzulegen, sie zu beschreiben und Optionen für die Bearbeitung und Nutzung festzulegen.

Name

Name des dynamischen Attributs, das im Webinterface verwendet wird.

Typ

Verwendeter Datentyp des Attributs siehe auch Punkt 3.2.1 Basisattribute (Eigenschaften / Merkmale)

Beschreibung

Beschreibung des Attributs. Die Beschreibung wird im Webinterface als feldsensitive Hilfe „?“

genutzt.

Registerkarte „SQL“

Variablen

Zeigt die drei Variablen, die bei der Script-Erstellung verwendet werden können.

Benutzerdefinierte Funktion

Auswahl von benutzerdefinierten Funktionen, die zur Werteermittlung in das SQL-Script mit eingebunden werden, siehe auch Punkt 6.1 Benutzerdefinierte Funktionen.

Registerkarte „Erweiterte Einstellungen“

Verwenden Sie diese Registerkarte, um weitere Eigenschaften für das dynamische Attribut zu beschreiben.

Standardanzeigeformat

Gibt an, in welchem Format der Wert standardmäßig angezeigt wird. Beispiel: negativer Wert in rot, Beträge in Euro oder Wert als Graph.

siehe auch Punkt 9.5 Anzeigeformate

Im Webinterface anzeigen

Gibt an, ob das Attribut standardmäßig in der generierten Sicht auf die Tabelle angezeigt wird.

In 360-Grad-Sicht anzeigen

Gibt an, ob das Attribut in der generierten Standarddetailmaske angezeigt wird.

Kontextmenü anzeigen

Gibt an, ob im Webinterface beim Anklicken ein Kontextmenü geöffnet sein soll. Standard ist „ja“, aber bei einigen Attributen ist es unerwünscht.

3.2.5 Attachment

Das Attribut Attachment ermöglicht es, eine bzw. mehrere Dateien von einem beliebigen Filesystem in einen in rimacon omniSuite definierten Share hochzuladen und diese Dateien sowie auch URLs zu diesen Dateien mit einem CI zu verknüpfen. In Hintergrund entsteht eine dynamische Spalte, die die Liste der Dateien darstellt (Typ ist HTML-direkt) und es ermöglicht, die Datei direkt per Klick herunterzuladen. Eine Tabelle kann mehrere unabhängige Attachments haben.

Inhalt

Es können Dateien (d.h. Inhalt) und URLs/Links (d.h. Zeichenfolge) zugeordnet werden. Optional können Verzeichnisse definiert werden, um die Dateien/URLs/Links zu gruppieren. Die Verzeichnisse sind "lokal", d.h. jedes CI hat eine eigene unabhängige Verzeichnisstruktur. Ein Verzeichnis (oder Root) kann gleichnamige Dateien enthalten. Dadurch ist es möglich, während des Life-Cycles eines CIs mehrere Versionen einer Datei zu pflegen.

Webinterface

Attachments für ein konkretes CI können an zwei Stellen zugeordnet werden:

1. Standard-Bearbeitungsmaske

In der Maske für die Attachments-Spalte muss die Checkbox "Im Bearbeitungsformular anzeigen" aktiviert werden.

2. Individuelle Maske

Das Attachment-Element wird über das "ATT"-Icon zugefügt.

Berechtigungen

Die Berechtigungen sind identisch mit den Berechtigungen für die Tabelle oder evtl. konkrete Objekte.

Out-of-the-box-Dateiänderungen

Wenn der Speicherort die Festplatte ist, ist eine direkte Änderung von Dateien ausdrücklich nicht zulässig!

Erstellung / Bearbeitung von Attachment-Attributen

Name

Name des Attributs, der im Webinterface verwendet wird.

Max. Größe

Maximale zulässige Größe einer Datei.

Speicherort (Datenbank)

Die Inhalte werden in der Datenbank gespeichert (Tabellen OBJATTDIR und OBJATTITEM).

Speicherort (Verzeichnis)

Wenn ein Default-Verzeichnis genutzt wird, wird das Default-Verzeichnis unter Programm => WEB-Einstellungen => Allgemein => Attachments => Default-Verzeichnis eingestellt.

Wenn ein spezifisches Verzeichnis genutzt wird, muss der Verzeichnispfad absolut und nicht relativ angegeben werden:

falsch: abcd\att\

richtig: d:\attachments\

Generell ist der Vollname einer Datei <root>\<attachments-id>\<ci-id>\<ci-lokale-verzeichnisse>\datei-name. Es gilt:

attachments-id ist ein Primärschlüssel in der Tabelle ATTDEF

der Dateiname ist normalerweise identisch mit dem Namen der hochgeladenen Datei. Wenn eine gleichnamige Datei mehrfach in ein Verzeichnis hochgeladen wird, wird eine Zahl an den Dateinamen angehängt (d.h. abcd2.txt, abcd3.txt statt abcd.txt).

wenn der Inhalt gezippt ist, wird der Dateiname um „.zip“ erweitert, d.h. abcd.txt.zip

da die Dateien unter <attachments-id> liegen, kann ein Root-Verzeichnis für mehrere Attachment-Attribute genutzt werden, aber nur innerhalb einer Datenbank.

Inhalt zippen

Wenn aktiv, werden die Inhalte gezippt. Das gilt auch, wenn der Speicherort die Datenbank ist.

Im Bearbeitungsformular anzeigen

Gibt an, ob das Attribut im generierten Standardbearbeitungsformular für die Tabelle genutzt wird.

Im Webinterface standardmäßig anzeigen

Gibt an, ob das Attribut standardmäßig in der generierten Sicht auf die Tabelle angezeigt wird.

Dynamische n:m-Beziehungen

Um schnell und einfach durch die ganze Datenbank zu navigieren oder auch um sofort ohne Umwege schnell z.B. die Auswirkungen von Änderungen an CIs oder Auswirkungen von Störungen zu identifizieren, können sog. dynamische n:m-Beziehungen oder auch indirekte Beziehungen zwischen Tabellen definiert werden, zwischen denen keine direkte Beziehung besteht - wie z.B. Domäne und Produkte oder IT- bzw. Business-Services und IT-Infrastrukturkomponente (Switch HUB etc.).

Die dynamischen n:m-Beziehungen werden beim Aufruf der Beziehung immer neu erstellt und daher auch nicht physisch abgespeichert.

Die dynamischen n:m-Beziehungen können nicht bearbeitet, sondern nur ausgewertet werden, z.B. aus dem Kontextmenü oder eingebunden im Explorer.

Beispiel: Domäne Produkte (über Rechner)

select distinct DOM_ID as $n, HWMPPD_PPD_ID as $m from DOM

inner join HWM on HWM_DOM_ID=DOM_ID

inner join HWMPPD on HWMPPD_HWM_ID=HWM_ID

where HWMPPD_ZD_ID = 0 and HWMPPD_MDT_ID=1

Die Definition muss immer zwei Spalten zurückgeben und die zwei Spalten müssen $n und $m Aliase haben.

Benutzung von benutzerdefinierten Funktionen bei der Definition von dynamischen n:m-Beziehungen:

Bei der Definition von dynamischen Beziehungen können auch benutzerdefinierte Funktionen genutzt werden, weil z.B. sonst die Definition unübersichtlich oder zu kompliziert wird.

siehe auch Punkt 6.1 Benutzerdefinierte Funktionen

select n_id as $n, m_id as $m from dbo.fnc_user_GetMatrix_STOtoHWM()

Definition der benutzerdefinierten Funktion fnc_user_GetMatrix_STOtoHWM:

create function dbo.fnc_user_GetMatrix_STOtoHWM()

returns @return table(n_id int, m_id int) as begin

declare @mdtid int

declare @matrix table(parentid int,childid int)

declare @new table(parentid int,childid int)

set @mdtid=1

insert @matrix select STO_ID, STO_ID from STO where STO_MDT_ID=@mdtid

while 1 = 1

begin

delete from @new

insert @new select ret.parentid, STO_ID from @matrix ret

inner join STO on STO_MDT_ID=@mdtid and STO_STO_ID=ret.childid and STO_STO_ID<>0

delete @new from @new new

inner join @matrix ret on ret.parentid=new.parentid and ret.childid=new.childid

if not exists (select parentid from @new) break

insert @matrix select parentid,childid from @new

end

Erstellen / Bearbeiten von individuellen Beziehungsketten

Name

Name der dynamischen Beziehung, der zu Auswertungszwecken aus dem Kontextmenü aufgerufen werden kann bzw. im Explorer genutzt wird.

n-Tabelle und m-Tabelle

Gibt an, zwischen welchen Tabellen eine dynamische (indirekte) Beziehung erstellt werden soll.

Kontext-Untermenü

Zuordnung der Beziehung zu einem Kontext-Untermenü.

Neu: Anlegen eines neuen Kontext-Untermenüs

Durch die Zuordnung der Beziehungen zu einem Kontext-Untermenü wird im Webinterface eine weitere Detailtiefe für die Auswahl der Beziehungen im Kontextmenü erstellt (Drill Down).

Beziehungstyp

Gibt die Art des Beziehungstyps an. Diese Angabe kann bei der Festlegung von Art und Umfang der zu analysierenden Beziehungen für die unterschiedlichen Analysen wie z.B. Impact-Analyse, Fehlerursachenanalyse etc., herangezogen werden (siehe auch Punkt 9.8 Analysestrukturen).

Neu: Anlegen eines neuen Beziehungstyps

Beschreibung

Dokumentation / Beschreibung der dynamischen Beziehung

Button „benutzerdefinierte Funktion“

Auswahl von benutzerdefinierten Funktionen      

Beziehungskette generieren

siehe auch Punkt 1.27 Maske „Assistent - Beziehungskette“

Assistent – Beziehungskette

Über den Button „Tabelle anbinden“ lässt sich durch die Vorlage der möglichen Tabellen schnell und einfach die Beziehungskette von Tabellen zusammenstellen, die für die Generierung des SQL-Scripts erforderlich sind.

Button „Testen“

Testet das SQL-Script und zeigt eine Liste von n- und m-Objekten

Visual Database Designer

Mit dem Visual Database Designer kann die Datenbank entworfen und visualisiert werden.

Sie können für die Datenbank mehrere Diagramme, sog. Schemata entwerfen. Die Schemata können zu Gruppen zusammengefasst werden.

Eine Datenbank-Tabelle kann in beliebig vielen Diagrammen verwendet werden. Daher können Sie unterschiedliche Diagramme erstellen, um z.B. verschieden Sachverhalte darzustellen oder um verschiedene Aspekte des Datenbankdesigns hervorzuheben. Beispielsweise haben Sie die Möglichkeit, ein großes Diagramm zu erstellen, das sämtliche Tabellen und Spalten anzeigt, oder Sie erstellen ein kleineres Diagramm, in dem nur die Tabellen, nicht aber die Spalten dargestellt werden.

Tabellen und Spalten in einem Datenbankdiagramm

Jede Tabelle verfügt über eine Titelleiste, in der der Name der Tabelle angezeigt wird, und eine Gruppe von Eigenschaftsspalten.

Die Anzahl der Eigenschaftsspalten, die je Tabelle und Diagramm angezeigt werden, kann eingeschränkt werden, damit Sie die Größe und das Layout des Diagramms einfacher verwalten können.

Beziehungen in einem Datenbankdiagramm

In einem Diagramm kann jede Beziehung über drei grundlegende Merkmale verfügen: Endpunkte, eine Linienart und verknüpfte Tabellen.

Endpunkte: Wenn an dem einen Endpunkt einer Beziehung ein Schlüssel und an dem anderen ein Unendlich-Symbol angezeigt wird, handelt es sich um eine 1:n-Beziehung.

Linienart: Die gestrichelte Linie zeigt an, ob es sich um eine 0:n- oder 1:n-Beziehung handelt. Die durchgezogene Linie zeigt an, dass es sich um eine n:m-Beziehung handelt.

Verknüpfte Tabellen: Die Beziehungslinie zeigt an, dass eine Tabelle über eine Fremdschlüssel-Beziehung zu einer anderen Tabelle verfügt. Mit einem Mausklick auf die Beziehungslinie werden die Beschreibungsmerkmale der Beziehung (Art der Beziehung, besondere Eigenschaften der Beziehung) in einem separaten Fenster angezeigt.

In einer Diagrammübersicht werden alle Diagramme in ihren unterschiedlichen Strukturierungsebenen dargestellt. Aus dieser Übersicht können Sie den Entwurf eines Diagramms, die Bearbeitung eines bestehenden Entwurfs, die Definition von Eigenschaften eines Entwurfs oder das Löschen eines Entwurfs anstoßen (rechte Maustaste).

Diagramm entwerfen / bearbeiten

Diagrammentwurfs- bzw. Bearbeitungsoptionen

Aus der Diagrammmaske (rechte Maustaste) können Sie folgende Optionen auswählen:

Erfassen einer neuen Tabelle bzw. Beziehungstabelle

siehe auch Punkt 2.4 Erstellung / Bearbeitung von Tabellen

Tabellen/Beziehungstabellen auswählen, die im Diagramm verwendet werden sollen

Angaben zur Gestaltung des Layouts (Seitenumbrüche anzeigen, Seite einrichten) sowie Druckmöglichkeiten

Generieren von SQL-Sichten (Views)

siehe auch Punkt 6.4 SQL-Sichten

Verwendete Tabellen/Beziehungstabellen im Diagramm bearbeiten

rechte Maustaste auf Tabellentitelleiste

die Titelleiste der Tabelle im Diagramm kann geändert werden

die Anzahl der Tabellenspalten (Attribute auswählen) und die Anzahl der Spalteneigenschaften (Spalten auswählen), die im Diagramm für die Tabelle angezeigt werden, kann eingeschränkt werden

Beziehungen zwischen Tabellen können für die einzelnen Diagramme ausgeblendet werden

Für die zugrundeliegende Tabelle wird das Tabellen-Kontextmenü (siehe auch Punkt 1.11 Kontextmenü für Tabelle ) angezeigt

Hilfsobjekte

Die Hilfsobjekte ermöglichen eine bessere Übersicht.. Es gibt zwei Arten: Rechteck und Text.

SQL-Server Objekte

In der Management Console ist es möglich, einige SQL-Server-Objekte zu verwalten. Generell gilt, dass rimacon omniSuite nur die selbst erstellten Objekte verwalten kann. Falls solch ein Objekt woanders (z.B. über SQL Server Management Studio) geändert wird, wird zwar die neue Definition gelten, aber beim Öffnen in der Management Console erscheint die alte Definition und nach dem Speichern wird das von SQL Server Management Studio erstellte Objekt überschrieben.

Objekte, die außerhalb von rimacon omniSuite erstellt wurden, sind für rimacon omniSuite nicht sichtbar, können aber in SQL-Scripten genutzt werden.

6.1 Benutzerdefinierte Funktionen

Benutzerdefinierte Funktionen werden mit der CREATE FUNCTION-Anweisung erstellt und jeder benutzerdefinierte Funktionsname muss eindeutig sein. Des Weiteren gelten die Regeln des MS SQL-Servers zur Definition, Änderung und Nutzung von benutzerdefinierten Funktionen.

Eine benutzerdefinierte Funktion verwendet null oder mehr Eingabeparameter und gibt einen Wert oder eine Tabelle zurück. Eine Funktion kann maximal 1024 Eingabeparameter haben.

Für die Namen der Funktionen müssen folgende Namenskonventionen eingehalten werden:

a) Präfix "fnc_user"

b) Die nachfolgende Namenseingabe darf nicht nur aus Nummern bestehen z.B. nicht fnc_user_2, fnc_user_56, …

c) Zulässige Zeichen sind : a-z, A-Z, 0-9, _

d) Der gesamte Name inkl. Präfix muss mindestens 9 Zeichen aber höchstens 63 Zeichen lang sein.

Hinweis: rimacon omniSuite kann nur die selbst erstellten benutzerdefinierten Funktionen verwalten. Falls solch eine benutzerdefinierte Funktionen woanders (z.B. über SQL Server Management Studio) geändert wird, wird zwar die neue Definition gelten, aber beim Öffnen in der Management Console erscheint die alte Definition und nach dem Speichern wird die von SQL Server Management Studio erstellte Funktion überschrieben.

Benutzerdefinierte Funktionen, die außerhalb von rimacon omniSuite erstellt wurden, sind für rimacon omniSuite nicht sichtbar.

Für benutzerdefinierte Funktionen bestehen Einschränkungen für Parametertypen und für Ergebnistypen. Ein Ergebnistyp kann auch eine Tabelle sein. Funktionen mit Tabellenrückgabe können ähnlich wie Tabellen genutzt werden -> „select * from dbo.fnc_user_xxx()"

Beispiel:

create function dbo.fnc_user_RechnernameToTyp(@name varchar(50))

returns int as begin

declare @ret int

set @ret=1

if @name like 's%' and len(@name)=5 set @ret=2

if @name like 'nb%' set @ret=3

return @ret

end

Benutzerdefinierte Funktionen können genutzt werden

1) bei der Ermittlung der Ausgabewerte von dynamischen Spalten

2) in SQL-Sichten

3) bei dynamischen n:m-Beziehungen sowie

4) in allen SQL-Scripten

Benutzerdefinierte Funktionen erstellen/bearbeiten

Registerkarte „Allgemein“

Benutzen Sie diese Registerkarte, um die benutzerdefinierten Funktionen zu erstellen und zu bearbeiten.

Name

Gibt den Namen der benutzerdefinierten Funktion an.

Parameter

Zeigt den Rückgabewert und den Typ (Zeichenfolge, numerisch, Tabellenname, etc.) an.

Zeigt die Parameter und die Typen der Parameter entsprechend der vorgegebenen Reihenfolge an.

Optionen

nach unten bzw. nach oben

Mit diesen Optionen kann die Reihenfolge der Parameter geändert werden.

hinzufügen und bearbeiten

Rückgabewert oder Parameter hinzufügen oder ändern. Wird eine Tabelle zurückgegeben, müssen die Tabellenparameter eingegeben werden.

löschen

Angegebenen Rückgabewert oder Parameter löschen.

      Assistent

Über den Assistenten werden SQL-Anweisungen generiert, um z.B. bei rekursiven Beziehungen Werte von niedrigeren Stufen zur nächsthöheren Stufe zu aggregieren.

Beispiel:

Auf jeder Standortebene soll ermittelt werden, wie viele Rechner sich an jeder Ebene befinden bzw. zu jeder Ebene gehören -> … Anzahl Rechner in Hollenstedt -> Anzahl Rechner in Niedersachsen -> Anzahl Rechner in Deutschland.

Nach Auswahl der entsprechenden Tabelle und der „Parent-Spalte“ der Spalte werden z.B. für den Standort folgende SQL-Anweisungen generiert:

declare @mdtid int

declare @matrix table(parentid int,childid int)

declare @new table(parentid int,childid int)

set @mdtid=24

insert @matrix select STO_ID, STO_ID from STO where STO_MDT_ID=@mdtid

while 1 = 1

begin

delete from @new

insert @new select ret.parentid, STO_ID from @matrix ret

inner join STO on STO_MDT_ID=@mdtid and STO_STO_ID=ret.childid and STO_STO_ID<>0

delete @new from @new new

inner join @matrix ret on ret.parentid=new.parentid and ret.childid=new.childid

if not exists (select parentid from @new) break -- nichts neues ==> end of loop

insert @matrix select parentid,childid from @new -- neue append to @matrix

end

insert @return select parentid, childid from @matrix

return

SQL-Anweisungen müssen nun vor der return-Anweisung definiert werden, um die Anzahl der Rechner auf jeder Ebene zu ermitteln:

insert @return

select distinct parentid, HWM_ID from @matrix

inner join HWM on HWM.VCOL_Standort=childid

SQL

Definition des SQL-Scripts für die benutzerdefinierte Funktion, wobei die Anweisungen für das Anlegen der benutzerdefinierten Funktion „Create function dbo.() und returns int as begin .. end“ generiert werden.

Registerkarte „Beschreibung“

Beschreibung

Dokumentation der benutzerdefinierten Funktion

Registerkarte „SQL-Script“

Zeigt alle von Ihnen erstellten und alle generierten SQL-Anweisungen für die benutzerdefinierte Funktion an.

Registerkarte „Test“

Beschreibung

Testet die Korrektheit der benutzerdefinierten Funktion und zeigt das entsprechende Ergebnis an.

6.2 Gespeicherte Prozeduren

Gespeicherte Prozeduren werden mit der CREATE PROCEDURE-Anweisung erstellt und jeder gespeicherte Prozedurenname muss eindeutig sein. Des Weiteren gelten die Regeln des MS SQL-Servers zur Definition, Änderung und Nutzung von gespeicherten Prozeduren.

Eine gespeicherte Prozedur verwendet null oder mehr Eingabeparameter.

Für die Namen der Prozeduren müssen folgende Namenskonventionen eingehalten werden:

a) Präfix "sp_user_"

b) Die nachfolgende Namenseingabe darf nicht nur aus Nummern bestehen, z.B. nicht sp_user_2, sp_user_56, …

c) Zulässige Zeichen sind : a-z, A-Z, 0-9, _

d) Der gesamte Name inkl. Präfix muss mindestens 9 Zeichen lang sein, darf aber höchstens 63 Zeichen lang sein.

Hinweis: rimacon omniSuite kann nur die selbst erstellten gespeicherten Prozeduren verwalten. Falls solch eine benutzerdefinierte Prozedur woanders (z.B. über SQL Server Management Studio) geändert wird, wird zwar die neue Definition gelten, aber beim Öffnen in der Management Console erscheint die alte Definition und nach dem Speichern wird die von SQL Server Management Studio erstellte Definition überschrieben.

Gespeicherte Prozeduren, die außerhalb von rimacon omniSuite erstellt wurden, sind für rimacon omniSuite nicht sichtbar.

Gespeicherte Prozeduren erstellen / bearbeiten

Registerkarte „Allgemein“

Name

Gibt den Namen der gespeicherten Prozedur an.

Parameter

Zeigt die Parameter und die Typen der Parameter entsprechend der vorgegebenen Reihenfolge an.

SQL

Inhalt der gespeicherten Prozedur.

Registerkarte „Beschreibung“

Beschreibung

Dokumentation der gespeicherten Prozedur.

Registerkarte „SQL-Script“

Zeigt alle von Ihnen erstellten und alle generierten SQL-Anweisungen für die gespeicherte Prozedur an.

6.3 Trigger-Funktionen

Für die rimacon-Datenbank können Trigger-Funktionen genutzt werden, die im Wesentlichen mit den Mechanismen des Microsoft® SQL Server™ -Datenbanksystems übereinstimmen. Ein Trigger wird auch in der rimacon-Datenbank als Reaktion auf eine INSERT-, UPDATE- oder DELETE-Anweisung aufgerufen.

Folgende Mechanismen für die Trigger werden nicht unterstützt:

"WITH ENCRYPTION", "NOT FOR REPLICATION",

Hinweis: rimacon omniSuite kann nur die selbst erstellten Trigger verwalten. Falls solch ein Trigger woanders (z.B. über SQL Server Management Studio) geändert wird, wird zwar die neue Definition gelten, aber beim Öffnen in der Management Console erscheint die alte Definition und nach dem Speichern wird die von SQL Server Management Studio erstellte Definition überschrieben.

Trigger, die außerhalb von rimacon omniSuite erstellt wurden, sind für rimacon omniSuite nicht sichtbar.

Namenkonventionen

Für die Namen der Trigger müssen folgende Namenskonventionen eingehalten werden:

1) Präfix "trg_user"

2) Die nachfolgende Namenseingabe darf nicht nur aus Nummern bestehen, z.B. nicht trg_user_2, trg_user_56, …

3) Zulässige Zeichen sind : a-z, A-Z, 0-9, _

4) Der gesamte Name inkl. Präfix muss mindestens 9 Zeichen lang sein, darf aber höchstens 63 Zeichen lang sein.

Beispiel: Trg_user_AfterCreateANW

Der Name des Triggers muss für jede Datenbank und nicht für jeden Mandanten eindeutig sein.

Erstellen von Triggern

Beispiel:

create trigger [dbo].[trg_user_test_insert] on [VTAB_test] FOR insert

as begin

update VTAB_test

set VCOL_CreateDate=getdate()

from VTAB_test

inner join inserted I on I.VTAB_test_ID=VTAB_test.VTAB_test_id

end

Registerkarte „Allgemein“

Name

Gibt den Namen des Triggers an.

Tabelle

Name der Tabelle, für die der Trigger als Reaktion auf eine INSERT-, UPDATE- oder DELETE-Anweisung aufgerufen wird.

Wann

After: Ausführung des Triggers nach der Insert-, Update- oder Delete-Anweisung

For : Ausführung des Triggers vor der Insert-, Update- oder Delete-Anweisung

Instead of: Ausführung des Triggers anstelle der üblichen Trigger-Funktion

Aktion

Gibt an, bei welcher Anweisung der Trigger aufgerufen wird.

SQL

Definition des SQL-Scripts für den Trigger, wobei die Anweisungen für das Anlegen des Triggers, die „Create … Anweisungen“, generiert werden.

Registerkarte „Beschreibung“

Beschreibung

Dokumentation des Triggers.

Registerkarte „SQL-Script“

Zeigt alle von Ihnen erstellten und alle generierten SQL-Anweisungen für den Trigger an.

6.4 SQL-Sichten

Eine in rimacon omniSuite erstellte SQL-Sicht ist eine echte MS SQL Server SQL-Sicht (View):

Eine Sicht ist eine virtuelle Tabelle, deren Inhalt durch eine Abfrage definiert wird, liegt jedoch nicht als gespeicherter Satz von Datenwerten in einer Datenbank vor.

Die Sicht (Datenzeilen) wird dynamisch erstellt.

Die Sicht kann Daten aus einer oder mehreren Tabellen oder aus anderen Sichten in der aktuellen Datenbank oder anderen Datenbanken (Föderierung) verwenden.

Sichten können so definiert werden, dass Daten aus mehreren heterogenen Quellen verwendet werden (Föderierung).

SQL-Sichten können für die weitere Bearbeitung genauso behandelt werden wie andere physische Tabellen auch:

Hinweis: rimacon omniSuite kann nur die selbst erstellten SQL-Sichten verwalten. Falls solch eine SQL-Sicht woanders (z.B. über SQL Server Management Studio) geändert wird, wird zwar die neue Definition gelten, aber beim Öffnen in der Management Console erscheint die alte Definition und nach dem Speichern wird die von SQL Server Management Studio erstellte Definition überschrieben.

SQL-Sichten, die außerhalb von rimacon omniSuite erstellt wurden, sind für rimacon omniSuite nicht sichtbar.

SQL-Sichten werden u.a. genutzt bei:

bei dynamischen Spalten

bei dynamischen n:m-Beziehungen

Föderierung (Anbindung anderer heterogener Datenquellen)

Namenkonventionen

Für die Namen der SQL-Sichten müssen folgende Namenskonventionen eingehalten werden:

a) Prefix "VIEW_"

b) Die nachfolgende Namenseingabe darf nicht nur aus Nummern bestehen, z.B. nicht VIEW_2, VIEW_56, …

c) Zulässige Zeichen sind : a-z, A-Z, 0-9, _

d) Der gesamte Name inkl. Präfix muss mindestens 6 Zeichen lang sein, darf aber höchstens 50 Zeichen lang sein.

Beispiele: VIEW_ora_jobs, VIEW_db2_customers, ...

SQL-Sicht generieren

SQL-Sichten können aus Tabellen der aktuellen Datenbank oder anderer Datenbanken (Föderierung) erstellt werden.

Für die Anbindung von anderen Datenbanken stehen folgende Möglichkeiten zur Verfügung:

Föderierung:

1. OPENDATASOURCE für die Anbindung von Tabellen aus anderen Datenbanksysteme, wie z.B. ORACLE, DB2, MSACCESS oder für die Anbindung von EXCEL-Dateien.

Beispiel:

select convert(int,ID) as ID, name, ort

from OPENDATASOURCE (

'Microsoft.Jet.OLEDB.4.0',

'Data Source="e:\data\provider.xls";Extended properties=Excel 5.0' )...Tabelle1$ T

2. Datenbank innerhalb des MSSQL Servers

Beispiel:

select * from buchhalt.dbo.Rechner

Weitere Beispiele für die Bildung einer SQL-Sicht:

Tabelle „Rechner“ im rimacon-System

Tabelle „Rechner“ in der Datenbank „Buchhaltung

VTAB_Rechner

VTAB_Rechner_ID      

VCOL_Name Zeichenfolge(50)

VCOL_RAM Nummer (Ganzzahlige)

Rechner

Rechner_ID

Rechner_Name Zeichenfolge(50)

Rechner_Preis dezimal(10,2)

SQL-Sicht view_buchhalt_rechner

select

BR.Rechner_ID,

BR.Rechner_Name,

BR.Rechner_Preis,

coalesce(RR.VTAB_Rechner_ID,0) as RR__VTAB_Rechner_ID

from buchhalt.dbo.Rechner BR

inner join rimacon.dbo.VTAB_Rechner RR on dbo.fnc_StringToString(RR.VCOL_Name)=dbo.fnc_StringToString(BR.Rechner_Name)

Die Funktion fnc_StringToString verhindert einen Sortierungskonflikt beim Zeichenfolgenvergleich von verschiedenen Sprachen.

Statt

select ID,Name from <…>

wird empfohlen

select convert(int,ID) as ID, dbo.fnc_StringToString(Name) as Name from <...>

Registerkarte „SQL-Sicht“

tatsächlicher Name

Name der SQL-Sicht

SQL über Assistent generieren

Eingabe von Einstellungen für Tabellen aus anderen Quellen oder Generieren einer Beziehungskette (siehe auch Punkt 1.27 Maske „Assistent - Beziehungskette“). Nach Bestätigung wird das Script für die Generierung der SQL-Sicht erstellt.

Listen von Spalten generieren

Zeigt alle generierten Spalten (mit oder ohne Präfix) der SQL-Sicht. Die aufgelisteten Spalten können entsprechend bearbeitet werden (Spalte markieren und rechte Maustaste)

Test

Zeigt das Ergebnis der generierten SQL-Sicht an.

Button „Benutzerdef. Funktion“

Auswahl von benutzerdefinierten Funktionen

6.4.1 View-Tabellen (SQL-Sicht als Tabelle)

Um die SQL-Sichten für die weitere Bearbeitung wie ganz normale Tabellen nutzen zu können, sind folgende Schritte erforderlich:

1. Erstellen einer View-Tabelle von der SQL-Sicht

2. Spalten aus der SQL-Sicht für die Erstellung der View-Tabellenspalte auswählen und „registrieren“ (Anbindungseinstellungen).

3. Primärschlüssel-Spalte auswählen. Diese Spalte muss vom Typ int sein.

Die View-Tabelle wird erstellt über das Kontextmenü der SQL-Sicht -> View-Tabelle erstellen.

Falls für die SQL-Sicht bereits eine View-Tabelle vorhanden ist, wird im Kontextmenü "Anbindungseinstellungen" angezeigt.

Umgekehrt wird "Anbindungseinstellungen" auch aus dem Kontextmenü einer bestehenden View-Tabelle angezeigt.

Registerkarte „Anbindungseinstellungen“

Hier werden die Datenbankspalten (aus der SQL-Sicht) auf die rimacon omnisuite-Spalten gemappt.

Beispiel: die SQL-Sicht gibt zwei Spalten von Typ Zeichenfolge zurück, aber in der Datenbank soll die erste als Zeichenfolge und die zweite als Link genutzt werden.

Befinden sich in den Spalten Schlüsselattribute (IDs) von vorhandenen Tabellen, kann bei der Auswahl und Registrierung zwischen einer VIEW-Tabelle und einer Tabelle eine Beziehung durch die Anbindung eines Fremdschlüssels gebildet werden. Die so gebildete Beziehung zwischen einer VIEW-Tabelle und Tabelle kann wie jede andere 0:n-/1:n-Beziehung genutzt werden.

Beispiel:

Von der SQL-Sicht view_buchhalt_rechner“ stellen wir bei Erstellung der VIEW-Tabelle eine Beziehung zur Tabelle „VTAB-Rechner“ her: :

Rechner_ID => Primärschlüssel der View-Tabelle

Rechner_Name => Zeichenfolge(50)

Rechner_Preis => dezimal(10,2)

RR__VTAB_Rechner_ID => 0:n Fremdschlüssel zu Rechner (VTAB_Rechner)

Nach der Generierung der SQL-Sicht wird aus der Liste der SQL-Sichten das Erstellen der VIEW-Tabelle über das Kontextmenü aufgerufen.

Verwenden Sie diese Registerkarte, um die VIEW-Tabelle für die SQL-Sicht zu erstellen oder zu ändern bzw. zu erweitern.

Primärschlüsselspalte

Eingabe/Auswahl eines Primärschlüssels aus den generierten Spalten der SQL-Sicht

Mandantspalte

Optional: Eingabe/Auswahl der Mandanten-ID aus den generierten Spalten der SQL-Sicht, wenn die VIEW-Tabelle für einen anderen als für den vorgegebenen Mandanten erstellt werden soll.

Spalten

Zeigt alle generierten Spalten der SQL-Sicht für Auswahl und „Registrierung“ der Spalten aus der SQL-Sicht für die VIEW-Tabelle an. Hier wird festgelegt, wie die Spalten bearbeitet und genutzt werden können.

Für die Registrierung der Spalten aus der SQL-Sicht für die VIEW-Tabelle wird ausgewählt, ob die Spalte als Attribut (Basisattribut) oder als Fremdschlüssel registriert werden soll. Die Anlage und Bearbeitung der Basisattribute und der Fremdschlüssel erfolgt analog zu siehe auch Punkt 3.2.1 Basisattribute (Eigenschaften / Merkmale) oder analog zu siehe auch Punkt 3.2.2 Fremdschlüssel.

Tabelle bearbeiten

Verzweigen zur Bearbeitung der SQL-Sicht

siehe auch Punkt 6.4 SQL-Sichten

Verzweigen zur Bearbeitung der VIEW-Tabelle, um die VIEW-Tabelle zu beschreiben und Optionen für die Bearbeitung und Nutzung der VIEW-Tabelle festzulegen

siehe auch Punkt 2.4 Erstellung / Bearbeitung von Tabellen

6.5 Von rimacon gelieferte Prozeduren und Funktionen

Folgende gespeicherte Prozeduren und Funktionen werden von rimacon offiziell ausgeliefert und können in Ihren T-SQL-Scripten genutzt werden.

fnc_cmdb_CNLOG_GetCurrentID

Gibt die mit der aktuellen Verbindung verknüpfte CNLOG_ID der Tabelle CNLOG oder eine 0 zurück.

fnc_cmdb_GetGlobvarAsString

Gibt den Inhalt der globalen Variable zurück. Wenn die Variable nicht vorhanden ist, wird eine leere Zeichenfolge zurückgegeben.

siehe auch Punkt 17.4 Globale Variablen

Parameter:

@pName varchar(256)

Name der Variable

Rückgabewert: nvarchar(max)

Hinweis: Diese Funktion kann nur für unverschlüsselt gespeicherte Variablen genutzt werden.

fnc_cmdb_GetTextEquivalentForENUMColumn

Gibt die Textäquivalente für ein Attribut von Typ Auswahl zurück.

siehe auch Punkt 3.2.1 Basisattribute (Eigenschaften / Merkmale)

Parameter:

@pMdtId int

Mandant-ID, normalerweise 1

@pTable varchar(100)

@pColumn varchar(100)

Tabelle und Spalte. Z.B. ‚ANW’ und ‚ANW_Extern’

Rückgabewert: table(int_value int, text_value nvarchar(100) )

Beispiel:

select * from dbo.fnc_cmdb_GetTextEquivalentForENUMColumn(1, 'ANW', 'ANW_Extern')

fnc_cmdb_GetCurrentWebANW

Gibt die mit der aktuellen Verbindung verknüpfte ANW_ID der Tabelle ANW oder eine 0 zurück.

fnc_htmlspecialchars

Konvertiert nicht-HTML-Zeichen in HTML-Entitiäten.Konkret:

&

&amp;

"

&quot;

'

&apos;

<

&lt;

>

&gt;

sp_cmdb_add_bg_deletecianddeps

Löscht ein Objekt/CI, identifiziert über Tabelle und Zeile-ID. Das Löschen erfolgt nicht sofort. Die Anforderung wird in der Tabelle BGDELCIDEPS gespeichert und im Hintergrund läuft regelmäßig eine Routine, die die Objekte aus BGDELCIDEPS ausliest und löscht.

Parameter:

@table varchar(100)

Tabellenname, z.B. „HWM“

@objId int

ID, z.B. konkrete HWM_ID

@scope int = 6

Was außer dem Hauptobjekt (optional) gelöscht werden soll Werte: siehe auch Punkt 17.1.88 rimacon.cmdb.DeleteCIAndDepsScope

sp_cmdb_AddBCCToEmailDirekt

Fügt einen BCC-Empfänger hinzu.

Parameter:

@pEmailID int

E-Mail ID

@pMail

nvarchar(100)

@pName

nvarchar(100)

sp_cmdb_AddBCCToEmailOverSQL

sp_cmdb_AddCCToEmailOverSQL

Fügt einen oder mehrere CC- oder BCC-Empfänger hinzu. Siehe auch sp_cmdb_AddRecipientToEmailOverSQL

sp_cmdb_AddCCToEmailDirekt

Fügt einen CC-Empfänger hinzu.

Parameter:

@pEmailID int

E-Mail ID

@pMail

nvarchar(100)

@pName

nvarchar(100)

sp_cmdb_AddRecipientToEmailDirekt

Fügt einen Empfänger hinzu.

Parameter:

@pEmailID int

E-Mail ID

@pMail nvarchar(100)

Empfänger-Adresse (hmustermann@meinefirma.de)

@pName nvarchar(100)

Empfänger-Name (Hans Mustermann)

sp_cmdb_AddRecipientToEmailOverSQL

Fügt einen oder mehrere Empfänger hinzu.

Parameter:

@pEmailID int

E-Mail ID

@pSQL nvarchar(max)

SQL-Ausdruck, der Empfänger-Namen und Empfänger-Email erzeugt und als Recordset zurückgibt.

@pFieldMail varchar(100)

Name der Spalte, die die Empfänger-Email enthält

@pFieldName varchar(100)

Name der Spalte, die den/die Empfänger-Name(n) enthält

Beispiel:

exec sp_cmdb_AddRecipientToEmailOverSQL 12345,

N'select VCOL_Name, VCOL_EMAIL from VTAB_Leute WHERE VCOL_IsSAPAdmin=1',

'VCOL_EMAIL', 'VCOL_Name'

sp_cmdb_add_int_to_conndata

siehe auch Punkt 7.3 Life-Cycle

sp_cmdb_add_sqldbg

Einfügen einer Zeile in die Tabelle SQLDBG. Diese Tabelle dient nur für das Speichern von Debuginformationen von T-SQL-Scripten. Sie können beliebig genutzt werden.

Parameter:

@key varchar(50)

Wert für die Spalte key

@value1 varchar(4000)

Wert für die Spalte value1

@value2 varchar(4000)

Wert für die Spalte value2

@value3 varchar(4000)

Wert für die Spalte value3

sp_cmdb_bgisbatch_init

Startet einen regelbasierten Ist/Soll-Abgleich

@key as varchar(50)

Identifiziert den konkreten regelbasierten Ist/Soll-Abgleich

@prms as varchar(8000)

Parameter, als Pärchen name=value. Mehrere Parameter müssen mit Semikolon getrennt werden.

exec sp_cmdb_bgisbatch_init 'hwm_und_switch', 'rfcid=123;procid=abcd'

sp_cmdb_cigroup_start

Startet die Aktualisierung einer Gruppe, siehe auch Punkt 18.3 Gruppen aktualisieren.

@key varchar(50)

Identifiziert die Gruppe, siehe auch Punkt 18.2.1 Reiter „Allgemein“

sp_cmdb_CreateEmail

Erstellt eine E-Mail ohne Empfänger-Adresse, ohne diese zu verschicken. Die Empfänger-Adressen müssen nachträglich hinzugefügt werden.

Der Inhalt ist ein Klar-Text. Um einen HTML-Inhalt zu schicken, nutzen Sie die Prozedur sp_cmdb_SetEmailHtmlBody.

Parameter:

@pNewIdAsRS int

Wenn gleich 1: Die Prozedur gibt ein Recordset zurück, das eine Zeile und eine Spalte (EMAIL_ID) enthält. Die Spalte enthält die ID der neuen E-Mail aus der EMAIL-Tabelle.

Wenn ungleich 1: Die Prozedur gibt kein Recordset zurück. Stattdessen wird die neue ID in Parameter @pNewEmailID gespeichert.

@pNewEmailID int output

siehe @pNewIdAsRS

@pSendDate datetime

Versandzeitpunkt. Wenn null aktuelles Datum und Zeit.

@pFromMail nvarchar(100)

Sender-Adresse (admin@meinefirma.de

@pFromName nvarchar(100)

Sender-Name (admin)

@pReplyTo nvarchar(100)

Antwort-Adresse

@pSubject nvarchar(100)

Betreff

@pBody nvarchar(max)

Inhalt

sp_cmdb_CreateOneShotGrantedRightsForUserform

Mit dieser Funktion kann für einen konkreten Webbenutzer eine einmalige Berechtigung für eine individuelle Maske vergeben werden. Dies ist sinnvoll, wenn Sie z.B. eine URL für individuelle Maske generieren und der Webbenutzer evtl. keine Berechtigungen für die Maske hat.

Parameter:

@pKey varchar(50)

Eine zufällige Zeichenfolge, die Sie vorher generieren und später beim Aufruf der individuellen Maske als pGrantedRightsKey-Parameter benutzen

@pAnwID int

Webbenutzer ID (ANW.ANW_ID)

@pRights int

Berechtigungen als Bitmask

1 = select, 2 = insert, 4 = update

@pUserformID int

@pObjID int

Konkrete CI-ID

Beispiel für ein Webmenüpunkt.

declare @key varchar(50), @url varchar(500)

set @key = newid()

exec sp_cmdb_CreateOneShotGrantedRightsForUserform @key, $_AnwID, 5/*1+4*/, 235,250

set @url = '/userform?pUserformID=235'

set @url = @url + '&pSessionKey=$_SessionKey'

set @url = @url + '&pID=250'

set @url = @url + '&pGrantedRightsKey=' + @key

select @url

sp_cmdb_CreateSMS

Erstellt eine SMS, ohne diese zu verschicken. Diese Prozedur ist fast mit sp_cmdb_SendOneSMS identisch, außer dass hier der Status auf „Building“ gesetzt wird.

Über die Prozedur sp_cmdb_SetSMSExtParam können erweiterte Parameter hinzugefügt werden, die über @pExtParams nicht hinzugefügt werden können (z.B. weil Apostroph, Semikolon oder Gleichheitszeichen enthalten sind).

Zum Schluss rufen Sie die Prozedur sp_cmdb_SendSMS auf

Parameter:

@pNewIdAsRS int

Wenn gleich 1: Die Prozedur gibt ein Recordset zurück, das eine Zeile und eine Spalte (SMSOUT_ID) enthält. Die Spalte enthält die ID der neuen SMS aus der SMSOUT-Tabelle.

Wenn ungleich 1: Die Prozedur gibt kein Recordset zurück. Stattdessen wird die neue ID in Parameter @pNewSmsID gespeichert.

@pNewSmsID int output

siehe @pNewIdAsRS

@pSendDate datetime

Versandzeitpunkt. Wenn null ->aktuelles Datum und Zeit.

@pFrom varchar(50)

Sender. Kann auch leer sein.

@pTo varchar(50)

Mobilnummer

@pExtParams nvarchar(max)

Erweiterte Parameter.

Beispiele:

flash=1

flash=1;codierung=plain

@pBody nvarchar(max)

Inhalt der SMS.

sp_cmdb_remove_int_from_conndata

siehe auch Punkt 7.3 Life-Cycle

sp_cmdb_SendEmail

Beschreibung: Markiert die E-Mail als „vorbereitet für den Versand“.

Parameter:

@pEmailID int

E-Mail ID

sp_cmdb_SendOneEmail

Verschickt eine E-Mail an nur eine (!) E-Mail-Adresse. Der Versand einer E-Mail an mehrere Empfänger ist bei dieser Prozedur nicht möglich, auch nicht durch Trennung der einzelnen Empfänger-Adressen durch Satzzeichen (z.B. Müller@rimacon.de; Meier@rimacon.de etc.).

Der Inhalt ist ein Klar-Text. Über diese Prozedur kann der Inhalt nicht als HTML geschickt werden.

Parameter:

@pNewIdAsRS int

Wenn gleich 1: Die Prozedur gibt ein Recordset zurück, das eine Zeile und eine Spalte (EMAIL_ID) enthält. Die Spalte enthält die ID der neuen E-Mail aus der EMAIL-Tabelle.

Wenn ungleich 1: Die Prozedur gibt kein Recordset zurück. Stattdessen wird die neue ID in Parameter @pNewEmailID gespeichert.

@pNewEmailID int output

siehe @pNewIdAsRS

@pSendDate datetime

Versandzeitpunkt. Wenn null aktuelles Datum und Zeit.

@pFromMail nvarchar(100)

Sender-Adresse

@pFromName nvarchar(100)

Sender-Name

@pRcptMail nvarchar(100)

Empfänger-Adresse

@pRcptName nvarchar(100)

Empfänger-Name

@pReplyTo nvarchar(100)

Antwort-Adresse

@pSubject nvarchar(100)

Betreff

@pBody nvarchar(max)

Inhalt (Klar-Text)

sp_cmdb_SendOneSMS

Verschickt eine SMS. Diese Prozedur ist fast mit sp_cmdb_CreateSMS identisch, außer dass der Status gleich auf „vorbereitet für den Versand“ gesetzt wird und weitere Änderungen an der SMS nicht möglich sind.

Parameter: Siehe sp_cmdb_CreateSMS

sp_cmdb_SendOneSMS2

sp_cmdb_SendOneSMS3

sp_cmdb_SendOneSMS4

sp_cmdb_SendOneSMS5

Diese Prozeduren sind ähnlich wie die sp_cmdb_SendOneSMS, benutzen aber weniger Parameter und sind daher einfacher zu handhaben.

sp_cmdb_SendSMS

Markiert die SMS als „vorbereitet für den Versand“.

Parameter:

@pSmsID int

SMS ID

sp_cmdb_SetEmailHtmlBody

Legt den HTML-Inhalt fest

Parameter:

@pEmailID int

E-Mail ID

@pHtmlBody

nvarchar(max)

sp_cmdb_SetGlobvarAsString

Legt Inhalt der globalen Variablen fest.

siehe auch Punkt 17.4 Globale Variablen

Parameter:

@pName varchar(256)

Name der Variable

@pValue nvarchar(max)

Wert als Zeichenfolge

Hinweis: Diese Funktion kann nur für unverschlüsselt gespeicherte Variablen genutzt werden.

sp_cmdb_SetSMSExtParam

Legt Wert eines erweiterten Parameter für eine SMS fest.

@pSmsID int

SMS ID

@pName varchar(50)

Parametername

@pValue nvarchar(max)

Wert

sp_cmdb_srcsnapshot_start

Startet (asynchron) den Refresh von einer Materialized View.

Parameter:

@pKey nvarchar(50)

Identifiziert die Materialized View

Beispiel:

exec sp_cmdb_srcsnapshot_start N'mview_oracle01_hr_jobs'

6.6 Kurzanleitung Föderierung

Die Föderierung erfolgt über die OPENDATASOURCE-Anweisung.

Einstellen der Adhoc-Berechtigungen

Standardmäßig ist diese OPENDATASOURCE -Anweisung ausgeschaltet und muss manuell eingeschaltet werden.

Am schnellsten geht dies in der Management Console unter Programmenü Programm Direkt SQL:

EXEC sp_configure 'show advanced options', 1

RECONFIGURE

EXEC sp_configure 'ad hoc distributed queries', 1

RECONFIGURE

Um diese Scripte ausführen zu können, müssen Sie mindestens eine der folgenden zwei Serverrollen haben: sysadmin und/oder serveradmin.

Zugriff auf andere Datenbanken

Eine detaillierte Syntax-Beschreibung für OPENDATASOURCE finden Sie hier:

http://msdn.microsoft.com/de-de/library/ms179856.aspx

Wichtig ist, dass ein entsprechender OLEDB-Provider auf dem SQL-Server-Rechner (nicht auf dem Client!) installiert ist. Achten Sie bitte darauf, in OPENDATASOURCE den richtigen Providernamen zu benutzen.

In der Management Console kann die OPENDATASOURCE in der Maske SQL-Sicht über einige vordefinierte Assistenten generiert werden.

Assistent für Oracle:

Beim Assistenten für Oracle wird von uns der Providername „MSDAORA“ vorgeschlagen. Auf dem SQL-Server-Rechner kann jedoch ein anderer Oracle-Provider bzw. auch gar kein Oracle-Provider installiert sein.

Bevor Sie einen Oracle-Provider installieren, versuchen Sie es zuerst mit einer Änderung von "MSDAORA" auf "MSDAORA.1" oder "OraOLEDB.Oracle"

Zugriffsoptimierung bei Föderierung

Einleitung

In rimacon omniSuite wird die Föderierung über eine SQL-Sicht realisiert. In der SQL-Sicht wird die Fremdtabelle angebunden, nach Bedarf einige Spalten angepasst und das Ergebnis zurückgeschickt. Dank der Ähnlichkeit zwischen SQL-Tabellen und SQL-Sichten kann rimacon omniSuite den SQL-Sichtnamen als üblichen Tabellenname benutzen und in diversen SQL-Befehlen kombinieren.

Problem

Das Hauptproblem bei der Logik liegt darin, dass immer die Gesamt-Menge eingelesen und erst danach nach weiteren Bedingungen reduziert wird. Bei der Zugriffsoptimierung besteht die Möglichkeit, einen parallelen SQL-Ausdruck zu definieren. (wird nicht als SQL-Sicht gespeichert) unter Berücksichtigung eines Filterszenarios (von vier vordefinierten Filterszenarien).

Filterszenarien

1. Alle Primärschlüssel

In diesem Fall wird nur die Primärschlüsselspalte ohne weitere Einschränkungen benötigt.

2. Eine Zeile nach Primärschlüssel-ID

In diesem Fall wird nur eine konkrete Zeile für eine konkrete Primärschlüssel-ID benötigt. Als Platzhalter für die konkrete ID wird die Variable $PKID genutzt.

3. Zeilen nach konkreter FK-ID (alle Spalten)

In diesem Fall werden Zeilen nach einem Fremdschlüssel gefiltert (z.B. alle Tickets eines Rechners). Da die rimacon omniSuite-Fremdschlüssel-ID und die entsprechende externe Spalte normalerweise unterschiedliche Arten von Inhalt haben (in rimacon omniSuite immer INT, in externer Spalte meistens eine Zeichenfolge), muss die Fremdschlüssel-ID über Konversion-SQL konvertiert werden.

Als Platzhalter für die konkrete ID wird die Variable $ObjID genutzt. Falls Konversion-SQL definiert wird, wird dies erst ausgeführt und das Ergebnis als Fremdschlüssel-ID ($ObjID) genutzt.

4. Zeilen nach konkreter FK-ID (nur Primärschlüssel)

Dieses Szenario ist fast identisch mit dem unter Punkt 3 beschriebenen Szenario, es wird aber nur die Primärschlüsselspalte benötigt.

Vollständiges Beispiel

Ausgangsituation:

Externe Tabelle: opendatasource(...).fed.dbo.InstalledSW:

InstalledSW_ID

Primärschlüssel

RechnerName

Rechnername als Text

SWName

Produktname

SWVersion

Produktversion

Ziel ist es, diese Tabelle mit einer rimacon-Rechnertabelle (HWM) als 0:n-Beziehung zu verknüpfen, wobei der Rechnername HWM_COMNAME entspricht.

SQL-Sicht:

Name=view_MSSQL2000_InstalledSW

Inhalt:

select InstalledSW_ID,RechnerName,SWName,SWVersion,HWM_ID

from opendatasource(...).fed.dbo.InstalledSW X

inner join HWM on HWM_MDT_ID=1 and HWM.HWM_COMPNAME=dbo.fnc_StringToString(X.RechnerName)

In Anbindungseigenschaften wird die "HWM_ID" als FK an die rimacon-Rechnertabelle angebunden.

1. Alle Primärschlüssel

(select InstalledSW_ID from opendatasource(...).fed.dbo.InstalledSW)

2. Eine Zeile nach Primärschlüssel-ID

(select InstalledSW_ID,RechnerName,SWName,SWVersion,HWM_ID

from opendatasource(...).fed.dbo.InstalledSW X

inner join HWM on HWM_MDT_ID=1 and HWM.HWM_COMPNAME=dbo.fnc_StringToString(X.RechnerName)

where X.InstalledSW_ID=$PKID)

3. Zeilen nach konkreter FK-ID (alle Spalten)

(select InstalledSW_ID,RechnerName,SWName,SWVersion,HWM_ID

from opendatasource(...).fed.dbo.InstalledSW X

inner join HWM on HWM_MDT_ID=1 and HWM.HWM_COMPNAME=dbo.fnc_StringToString(X.RechnerName)

where X.RechnerName='$ObjID')

SQL zur Umwandlung des Variableninhalts: select HWM_COMPNAME from HWM where HWM_ID=$ObjID

4. Zeilen nach konkreter FK-ID (nur Primärschlüssel)

(select InstalledSW_ID from opendatasource(...).fed.dbo.InstalledSW X

where X.RechnerName='$ObjID')

SQL zur Umwandlung des Variableninhalts: select HWM_COMPNAME from HWM where HWM_ID=$ObjID

Zeitbezogene Datenhaltung

7.1 Logging

Für Tabellen und Beziehungstabellen wird festgelegt (siehe auch Punkt 2.4 Erstellung / Bearbeitung von Tabellen), ob Änderungen geloggt werden sollen (was wurde wie geändert, Zeitpunkt der Änderung, wer hat geändert). Alle Tabellen, die gelogged werden sollen, werden in der Datenbank gemeinsam in einer Log-Tabelle gespeichert. Diese Tabelle kann nicht bearbeitet werden.

Für jeden User kann angegeben werden, ob er berechtigt ist, Logging-Informationen der Tabellen bzw. Beziehungstabellen zu lesen und/oder zu bearbeiten (löschen).

7.2 Historie

Für Tabellen kann festgelegt werden, welche Spalten überwacht und historisiert werden. Für eine Tabelle können mehrere Historientabellen angelegt werden:

Beispiel für eine Rechner-Tabelle:

Erste Historientabelle für die Spaltengruppe : Netzname, RAM, Domäne

Zweite Historientabelle für die Spaltengruppe: Gruppe: Netzname, Preis, Anschaffungsdatum

Historientabellen können genau so bearbeitet und ausgewertet werden wie ganz normale Tabellen und Beziehungstabellen:

Historientabellen können bearbeitet und ausgewertet werden.

zu Historientabellen können zusätzliche Informationen zur Änderung/Behebung abgespeichert werden.

Historientabellen können mit Ereignissen wie Incidents, Changes, etc. verknüpft werden.

Empfehlungen

Schlüsselfelder, die die Tabelle eindeutig identifizieren, mit in die Überwachung übernehmen, um z.B. noch nachvollziehen zu können, welche Zeilen in der Datenbank gelöscht wurden.

(Beim Löschen verbleiben die Einträge in der Historientabelle, aber die Verweise auf die Original-Tabelle werden auf 0 gesetzt.)

Bestimmen, dass auch die geänderten Werte (alte Werte) der zu historisierenden Spalten mitgespeichert werden. So werden sowohl der neue als auch der alte Werte gespeichert.

Erstellen von Historientabellen:

Für jede Tabelle, die historisiert werden soll, wird automatisch ein Trigger generiert und eine Historientabelle generiert und angelegt.

Die Historie-Tabelle enthält folgende Spalten:

Primärschlüssel

MandantID

Base-ID : 0:n-Fremdschlüssel auf das Originalobjekt

dynamische Spalte, die das Bildäquivalent für die Aktion zurück gibt

Datum der Änderung

Aktion: Auswahlwert {insert, update, delete}

dynamische Spalte, die das Textäquivalent für die Aktion zurück gibt

dynamische Spalte, die das Bildäquivalent für die Aktion zurück gibt

ConnectionLog: 0:n-Fremdschlüssel auf die ConnectLog-Tabelle

dynamische Spalte, die das Textäquivalent für ConnectionLog zurück gibt

die ausgewählten Spalten der Original-Tabelle

Beispiel:

Original-Tabelle: Rechner

VTAB_Rechner_ID

VTAB_Rechner_MDT_ID

VCOL_Name

VCOL_RAM

Historie-Tabelle (für Name und RAM)

VTAB_HIST_Rechner_ID

VTAB_HIST_Rechner_MDT_ID

VCOL_BaseID

Base-ID

text_VCOL_BaseID

Base-ID [Text]

VCOL_DT

Datum

VCOL_ACTION

Aktion

text_VCOL_ACTION

Aktion [Text]

pic_VCOL_ACTION

Aktion [Bild]

VCOL_CNLOG_ID

ConnectLog

text_VCOL_CNLOG_ID

Connection-Log [Text]

VCOL_NAME

Name

VCO_RAM

RAM

Erstellung / Bearbeitung von Historien-Tabellen

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um die Tabellen auszuwählen, die historisiert werden sollen.

Tabelle

Auswahl der Tabelle, die historisiert werden soll.

Aktion

Bei welcher Aktion die Historie erstellt werden soll. Standardmäßig sollten alle Checkboxen (Insert, Update, Delete) angekreuzt werden. In speziellen Fällen kann es sinnvoll sein, einige davon abzukreuzen.

Beschreibung

Zu Dokumentationszwecken wird die Historie für die Tabelle beschrieben.

Registerkarte „Spalten“

Verwenden Sie diese Registerkarte, um die Spalten der Tabelle auszuwählen, die gemeinsam überwacht und historisiert werden sollen.

Spalte

Anzeige aller Spalten der ausgewählten Tabelle, die für die Überwachung und Historisierung ausgewählt werden können. Es können der alte Wert oder der neue Wert oder beide Werte historisiert werden.

7.3 Life-Cycle

Für Tabellen kann festgelegt werden, ob jede Statusänderung des aktuellen Zustands einer Tabelle festgehalten werden soll.

Life-Cycle-Tabellen können genau so bearbeitet und ausgewertet werden wie ganz normale Tabellen und Beziehungstabellen:

Life-Cycle-Tabellen können bearbeitet und ausgewertet werden

zu Life-Cycle-Tabellen können zusätzliche Informationen zur Änderung/Behebung abgespeichert werden.

Life-Cycle-Tabellen können mit Ereignissen wie Incidents, Changes, etc. verknüpft werden.

Erstellen von Life-Cycle-Tabellen:

Für jede Tabelle, deren Statusänderungen festgehalten werden sollen, wird automatisch ein Trigger generiert und eine Life-Cycle-Tabelle generiert und angelegt.

Die Life-Cycle-Tabelle enthält folgende Spalten:

Primärschlüssel

MandantID

Base-ID : 0:n-Fremdschlüssel auf das Originalobjekt

dynamische Spalte, die das Textäquivalent für Base-ID zurück gibt

Datum der Statusänderung

Aktion: Auswahlwert {insert, update, delete}

dynamische Spalte, die das Textäquivalent für Aktion zurück gibt

ConnectionLog: 0:n-Fremdschlüssel auf die ConnectLog-Tabelle

dynamische Spalte, die das Textäquivalent für ConnectionLog zurück gibt

Status-ID: 0:n-Fremdschlüssel der Statustabelle

dynamische Spalte, die das Textäquivalent für den Status zurück gibt

Bei der automatischen Generierung der Life-Cycle-Tabelle wird der Status als Fremdschlüssel bei der Ausgangstabelle automatisch erstellt:

Status-ID: 0:n-Fremdschlüssel der Statustabelle

dynamische Spalte, die das Textäquivalent für den Status zurück gibt

Einige Namen können frei vergeben werden:

Tabellenname

Neue Spalten

Die Standardspalten-Namen sind fest vorgegeben:

- VCOL_DT, VCOL_BaseID, VCOL_ACTION, VCOL_CNLOG_ID

Erstellung / Bearbeitung von Life-Cycle-Tabellen

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte. um die Tabelle auszuwählen, deren Statusänderungen festgehalten werden sollen.

Tabelle

Auswahl der Tabelle bzw. Beziehungstabelle, deren Statusänderung festgehalten werden soll

Beschreibung

Zu Dokumentationszwecken wird die Life-Cycle-Tabelle beschrieben.

Registerkarte „Statustabelle“

Verwenden Sie diese Registerkarte, um die Statustabelle auszuwählen. Standardmäßig wird die rimacon-Status-Tabelle zur Auswahl vorgelegt.

alter Wert

Wenn aktiv, wird bei Statusänderung der alte Wert gespeichert (eine separate Spalte wird automatisch erstellt).

neuer Wert

Wenn aktiv, wird bei Statusänderung der neue Wert gespeichert (eine separate Spalte wird automatisch erstellt).

Bei folgenden Status alle Beziehungen löschen

Wählen Sie die Status aus, bei denen alle Beziehungen gelöscht werden sollen. Für jeden ausgewählten Status kann zusätzlich definiert werden (Doppelklick auf die Spalte "Ausnahmen"), welche Beziehungen nicht gelöscht werden sollen.

Weitere Einstellungen

Wert für CONNDATA...

Wenn beim Speichern die Status-Spalte unverändert bleibt, entsteht standardmäßig in der Life-Cycle-Tabelle kein Eintrag. In einigen Kontexten ist es erwünscht, auch bei identischen alten und neuen Werten einen Eintrag zu erstellen. Um das zu erreichen, muss in die Tabelle CONNDATA vor dem Update-Befehl ein vorgegebener Wert für die CONNDATA-Tabelle hinzugefügt werden und nach dem Update-Befehl gelöscht werden.

Beispiel: keinen Wert in der CONNDATA-Tabelle hinzufügen (Feature nicht benutzen).

update VTAB_Drucker set VCOL_STAT=7 where ...

Wenn der vorheriger Status 7 war, entsteht in der Life-Cycle Tabelle (z.B. VTAB_LC_Drucken) kein weiterer Eintrag.

Beispiel: Wert in die CONNDATA-Tabelle hinzufügen (dieses Feature benutzen -zuerst in der Management Console für die Life-Cycle unter Reiter „Weitere Einstellungen“ die Nummer 1234 eingeben)

exec sp_cmdb_add_int_to_conndata 1234

update VTAB_Drucker set VCOL_STAT=7 where ...

exec sp_cmdb_remove_int_from_conndata 1234

In diesem Fall entsteht in der Life-Cycle Tabelle ein Eintrag, unabhängig davon, ob der vorheriger Status 7 oder nicht 7 war.

Ist / Soll (Mapping / Reconciliation)

Für Tabellen kann festgelegt werden, ob beim Laden der Tabellen die Daten in der sog. Staging-Area oder auch Ist-Datenbank abgelegt werden, um Soll-/Ist-Abgleiche mit den in der Datenbank (Soll) gespeicherten Daten zu ermöglichen.

Die Synchronisierung erfolgt zwischen den Tabellen, ausgehend von der Ist-Tabelle (Ist-Tabelle zu Soll-Tabelle) oder von der Soll-Tabelle (Soll-Tabelle zu Ist-Tabelle).

Verknüpfen / Mappen von Tabellen

Es gibt drei Möglichkeiten, Ist- und Soll-Tabellen miteinander zu verknüpfen:

1. bestimmen, welche der Tabellen die Ist-Tabelle ist und welche die Soll-Tabelle

2. ausgehend von einer bestehenden Ist-Tabelle automatisch eine Soll-Tabelle erstellen

3. ausgehend von einer bestehenden Soll-Tabelle (Standard) automatisch eine Ist-Tabelle erstellen

Hinweis: für eine Tabelle können mehrere Ist-/Soll-Definitionen definiert werden, um z.B. in der Tabelle „Rechner“ die Server anders als die PCs vergleichen zu können.

Um Ist- und Soll-Tabellen miteinander zu verknüpfen, müssen die Spalten ausgewählt werden, über die die Verknüpfung erfolgen soll. Es muss mindestens eine Spalte ausgewählt werden.

8.1 Maske Ist/Soll Attribute

In dieser Maske wird die Ist/Soll-Definition bearbeitet.

Registerkarte „Allgemein“

IST-Tabelle/SOLL-Tabelle

Die Ist- und Soll-Tabellen. Per Doppelklick werden die Namen (Singular, Datenbank-Name) in den Zwischenspeicher kopiert.

Text

Identifiziert die Ist/Soll-Definition. Bei der Erstellung wird automatisch der Plural generiert. Falls Sie für zwei Tabellen mehr als eine Ist/Soll-Definition haben, sollten Sie sie entsprechend umbenennen (z.B. „Rechner (Server)“, „Rechner (PC)“).

Zeichenfolge zur Identifikation

Für Identifikation in SQL-Scripten.

Im Webinterface anzeigen

Ob Anzeige in der Toolbar und im Kontextmenü.

Registerkarte „Spalten/Beziehungen mappen“

Nachdem die Erstellung und Verknüpfung der Ist- und Soll-Tabellen erfolgt ist, wird bestimmt, welche Spalten zwischen den beiden Tabellen verknüpft werden sollen. Bei der automatischen Synchronisierung der Ist- und Soll-Tabellen werden nur diese Spalten miteinander abgeglichen.

Dadurch, dass in der Regel nicht alle Spalten miteinander abgeglichen werden sollen, ist die Anzahl der Spalten der beiden Tabellen unterschiedlich. Die Ist-Tabelle kann Spalten enthalten, die für Soll nicht relevant sind und umgekehrt.

Watched

Wenn aktiv, werden die entsprechenden Spalten verglichen.

Wenn nicht aktiv und die Werte ungleich sind, werden die entsprechenden zwei Ist- und Soll-Objekte als identisch betrachtet (es sei denn, dass andere Attribute nicht identisch sind).

Bei Übernahme werden die Spalten - unabhängig ob wachted oder nicht – synchronisiert.

Symbol „…“

Dieses Symbol erscheint bei FK-Spalten, deren Fremdtabellen eine oder mehrere Ist/Soll-Definitionen haben. In diesem Fall werden die FK-IDs nicht 1:1 übernommen, sondern es wird eine Ist/Soll-Definition genutzt, um Ist- und Soll-IDs richtig umzuwandeln. Falls mehrere Ist/Soll-Definitionen in Frage kommen, müssen über das Symbol „…“ die Regeln definiert werden.

siehe auch Punkt 8.1.1 Maske „Andere Einstellungen“

Beziehungen

Ermöglicht es, weitere Beziehungen mitzunehmen, deren Erläuterung den Rahmen dieses Handbuchs sprengen würde und daher Bestandteil von Schulungen ist.

Registerkarte „Synchronisierung“

Verknüpfen Soll-/Ist-Tabelle

Hier werden die Ist- und Soll-Objekte gemappt, d.h. es wird erzeugt, welches Ist-Objekt welchem Soll-Objekt entspricht (sofern zutreffend). Das SQL-Script muss zwei Spalten mit Namen ist_id und soll_id zurückgeben, wobei ist_id das Ist-Objekt identifiziert und soll_id das entsprechende Soll-Objekt für das Ist-Objekt identifiziert. Für Ist-Objekte, für die keine Soll-Objekt gefunden wurden, soll das Script nicht zurückgeben werden. Dies gilt ebenso für Soll-Objekte ohne Ist-Objekt.

Hinweis: Dieses Script prüft nicht die Attribute.

Beispiel für Tabelle: Gebäude:

select ist.VTAB_IST_GEB_ID as ist_id, soll.VTAB_SOLL_GEB_ID as soll_id

from VTAB_IST_GEB ist, VTAB_SOLL_GEB soll

where ist.VTAB_IST_GEB_MDT_ID=1 and soll.VTAB_SOLL_GEB_MDT_ID=1

and [ist].[VCOL_Name] = [soll].[VCOL_Name]

Besonderheit für Parent/Child-Beziehungen:

Sofern ein Child-CI über seine Bezeichnung nicht eindeutig und unverwechselbar einem Parent-CI zugeordnet werden kann, müssen die IDs der Parent-CIs für die Verknüpfung mit ausgewählt werden.

Beispiel 1: Ist/Soll-Tabelle von Child- CI „Raum“, aber keine Ist/Soll-Tabelle vom Parent- CI „Gebäude“ (Ist/Soll-Tabelle von Parent- CI „Gebäude“ nicht mit auswählen):

select ist.VTAB_IST_RAUM_ID as ist_id, soll.VTAB_SOLL_RAUM_ID as soll_id

from VTAB_IST_RAUM ist, VTAB_SOLL_RAUM soll

where ist.VTAB_IST_RAUM_MDT_ID=1 and soll.VTAB_SOLL_RAUM_MDT_ID=1

and [ist].[VCOL_Name] = [soll].[VCOL_Name] /* Raum-Vergleich */

and [ist].[VCOL_GEB_ID] = [soll].[VCOL_GEB_ID] /* Gebäude-Vergleich */

Beispiel 2: Ist/Soll-Tabelle von Child- CI „Raum“ und Ist/Soll-Tabelle von Parent- CI „Gebäude“ (Ist/Soll-Tabelle von Parent- CI „Gebäude“ mit auswählen):

select ist.VTAB_IST_RAUM_ID as ist_id, soll.VTAB_SOLL_RAUM_ID as soll_id

from VTAB_IST_RAUM ist, VTAB_SOLL_RAUM soll, VTAB_IST_GEB ig, VTAB_SOLL_GEB sg

where ist.VTAB_IST_RAUM_MDT_ID=1 and soll.VTAB_SOLL_RAUM_MDT_ID=1

and ig.VTAB_IST_GEB_MDT_ID=1 and sg.VTAB_SOLL_GEB_MDT_ID=1

and [ist].[VCOL_Name]=[soll].[VCOL_Name] /* Raum-Vergleich */

and ig.VTAB_IST_GEB_ID=ist.VCOL_IST_GEB and sg.VTAB_SOLL_GEB_ID=soll.VCOL_SOLL_GEB_ID

and ig.VCOL_NAME=sg.VCOL_NAME /* Gebäude-Vergleich */

Regeln zur Synchronisierung

Es gibt drei generelle Vorgehensweisen für die Übernahme:

a. Übernahme von Ist nach Soll nach manueller Kontrolle

Im Webinterface wird manuell gesteuert, wann welches Objekt übernommen bzw. gelöscht wird.

b. Automatisch: Übernahme von Ist nach Soll (nach erfolgreichem Abgleich)

Im Webinterface wird die Übernahme per Klick gestartet. Übernommen werden nur die Objekte, deren „watched“-Spalten identisch sind. D.h., es werden nur die „unwatched“-Spalten synchronisiert.

c. Automatisch: Übernahme von Ist nach Soll (ohne Abgleich)

Im Webinterface wird die Übernahme per Klick gestartet. Übernommen werden alle Objekte.

Beziehungen auswählen

Hier wird ausgewählt, welche Beziehungen bei der Übernahme mit übernommen sollten. Bei manueller Kontrolle kann im Webinterface ausgewählt werden, ob das Objekt mit oder ohne diesen Beziehungen übernommen werden soll.

SQL über Assistent generieren      

Auswählen der Spalten der Ist- und der Soll-Tabelle, für die die SQL-Anweisungen generiert werden.

Registerkarte „Benachrichtigung (E-Mail)“

Wenn ausgefüllt, werden die Ergebnisse der Übernahme automatisch per Mail verschickt.

Registerkarte „andere Einstellungen“

Post-SQL

Wenn der ISt/Soll-Vergleich beendet ist, wird dieses T-SQL-Script ausgeführt. Besonders interessant ist die Kontextvariable @_results, die die Ergebnisse enthält.

Datumspalten

Verwenden Sie diese Registerkarte, um der Ist- und/oder der Soll-Tabelle zusätzlich eine Datumsspalte zuzuordnen. Standardmäßig ist die Spalte mit dem aktuellen Tagesdatum vorbelegt. Ändert sich die Ist-Tabelle, wird automatisch das Datum aktualisiert.

Ist- und Soll-Tabellen beim Vergleich einschränken

Hier können die Ist- und Soll-Objekte eingeschränkt werden, die gemappt werden sollen (Beispiel: in der Tabelle Rechner sollen nur die Server synchronisiert werden).

Eigene Menüaktionen

Hier haben Sie die Möglichkeit, das Standardmenü um eigene Punkte zu erweitern.

Es gibt zwei Arten von Menüpunkten:

SQL: siehe auch Punkt 8.1.2 Menüitem bearbeiten (SQL)

URL: siehe auch Punkt 8.1.3 Menüpunkt bearbeiten (URL)

8.1.1 Maske „Andere Einstellungen“

Hier wird definiert, welche Ist/Soll-Definition genutzt werden soll.

Möglichkeiten:

a) Fehlermeldung anzeigen bei mehr als einer Ist/Soll-Definition (Standard)

Es wird eine entsprechende Fehlermeldung angezeigt.

b) Erste Definition nutzen

Es wird einfach die erste Definition genutzt (Reihenfolge ist nicht vorgegeben).

c) Nach entsprechenden Filtern (wenn keine oder mehrere Definitionen zur Auswahl stehen, wird eine Fehlermeldung angezeigt).

In jeder Ist/Soll-Definition können die Objekte eingeschränkt werden. Wenn das konkrete Objekt unter den Filter keiner Ist/Soll-Definition oder mehrerer Ist/Soll-Definitionen fällt, wird eine entsprechende Fehlermeldung angezeigt.

d) Definition auswählen

Es wird eine konkrete Ist/Soll-Definition festgelegt.

e) Über SQL auflösen

Die Ist/Soll-Definition wird über SQL-Script erzeugt. Über die Kontextvariablen $ist_objid und $soll_objid wird das Ist- oder Soll-Objekt identifiziert. Von diesen zwei Objekten wird immer eines auf 0 und eines auf nicht-0 gesetzt. Die zurückgegebene erste Spalte der ersten Zeile muss einer VTABISTSOLL.VTABISTSOLL_ID entsprechen.

8.1.2 Menüitem bearbeiten (SQL)

Registerkarte „allgemein“

Text

Dieser Text erscheint im Menü.

Genutzt in

Hier wird festgelegt, für welche Blöcke der Menüpunkt gilt.

Registerkarte „Pre-SQL (Text)“

Über dieses SQL-Script kann der Text im Menü dynamisch geändert und optional gesperrt werden.

Text ändern:

set $text='xyz'

Menüitem sperren:

set $disabled='1'

Registerkarte „Post-SQL“

Dieses SQL-Script wird nach „übernehmen“ ausgeführt.

8.1.3 Menüpunkt bearbeiten (URL)

Registerkarte „allgemein“

Text

Dieser Text erscheint im Menü.

Genutzt in

Hier wird festgelegt, für welche Blöcke der Menüpunkt gilt.

Registerkarte „Pre-SQL (Text)“

Über dieses SQL-Script kann der Text im Menü geändert werden und optional gesperrt werden.

Registerkarte „Post-SQL (Link)“

Dieses SQL den Link (erste Spalte erster Zeile).

Beispiel

select 'http://www.sme.sk/$_SessionKey'

Registerkarte „öffnen in“

Definiert, wie der URL geöffnet wird.

Konfigurierung Webinterface

Das Webinterface kann kundenindividuell aufgabenorientiert, d.h. sowohl angelehnt an die verschiedenen Aufgaben als auch nutzerorientiert, also z.B. nach Rollen oder Abteilungen, konfektioniert werden.

9.1 Headerleiste

In der Management Console unter Webinterface (Standard) => Webinterface designen werden alle Menüpunkte, die in der Header-Menüleiste im Webinterface dargestellt werden, angezeigt.

Über das Kontextmenü (rechte Maustaste) kann zur Neuanlage, zur Bearbeitung oder zum Löschen eines Menüpunktes verzweigt werden.

Über Drag and Drop kann die Reihenfolge geändert werden.

Es gibt fünf Arten von Menüpunkten:

Von rimacon omniSuite vordefinierte Punkte (Startseite, Einstellungen. Reporting, ...): Diese vordefinierten Punkte können nur einmal belegt werden.

Steuerpunkte „|“ und “(space)”: Alle Menüpunkte, die vor dem „Space“ liegen, werden linksbündig und alle Menüpunkte, die rechts vom „Space“ liegen, werden rechtsbündig ausgerichtet.

Benutzerdefinierter Punkt: siehe auch Punkt 9.1.1 Benutzerdefinierter Punkt

Benutzerdefinierte Sicht: um schnell auf wichtige oder häufig genutzte Auswertungen zugreifen zu können. siehe auch Punkt 9.1.2 Sicht

RelationMiner: es wird eine Liste von allen RelationMiner-Konfigurationen angezeigt, siehe auch Punkt 9.15 RelationMiner

9.1.1 Benutzerdefinierter Punkt

Registerkarte „Text“

Name

Gibt den Namen des Menüpunktes an. Dieser Name wird im Webinterface nicht angezeigt.

Separator links und rechts

Gibt an, ob ein Separator links oder rechts angezeigt wird.

Dies ist sinnvoll, wenn der Webbenutzer keine Berechtigungen für die Menüpunkte hat und damit die Menüpunkte auch nicht angezeigt werden. Die Separatoren werden dann auch nicht angezeigt.

angezeigter Text und Link, Text über SQL-Script generieren

Hier kann der Menüpunkt einfach oder beliebig komplex definiert werden:

der angezeigte Text kann fix oder dynamisch sein

der Link kann fix oder dynamisch sein

der Menüpunkt kann ein fixes oder dynamisches HTML sein.

Wenn der Inhalt (für Text oder Link oder den gesamten Menüpunkt) dynamisch über SQL-Script definiert wird,

wird als Ergebnis (Text, Link, HTML) die erste Zeile und die erste Spalte des zurückgegebenen Recordsets genommen.

Registerkarte „Öffnen in“

Definieren Sie, wie Sie den Link öffnen wollen. Dies ist nicht möglich, wenn der Inhalt ein HTML ist.

Registerkarte „Anzeigeberechtigungen“

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

siehe auch Punkt 9.3.6 Menüpunkt Dashboard

9.1.2 Sicht

Registerkarte „Allgemein“

Name

Gibt den Namen des Menüpunktes an. Dieser Name wird im Webinterface nicht angezeigt.

angezeigter Text

Gibt den Text an, der in der Header-Menüleiste im Webinterface angezeigt wird.

CI

Gibt die Basistabelle an.

Separator links und rechts

Gibt an, ob ein Separator links oder rechts angezeigt wird.

Eigene Listenkonfiguration

Hier wird die Sicht konfiguriert.

Registerkarte „SQL-Filter“

Hier kann die Menge der angezeigten Objekte eingeschränkt werden.

9.2 Web-Menüstrukturgruppen

Sollen für die verschiedenen Aufgaben, wie z.B. Verwalten, Bearbeiten und Überwachen eines Lizenzbestandes, de facto eigene Webinterface-Oberflächen, d.h. mit eigener Menüstruktur, eigenen Sichten sowie eigenen Dialogfenstern erstellt werden, müssen hierfür jeweils Web-Menüstrukturgruppen definiert werden.

Unter diesen Web-Menüstrukturgruppen wird dann die entsprechende Menüstruktur angelegt. Für die Web-Menüstrukturgruppen können entsprechende Berechtigungen vergeben werden.

In der Management Console unter linkes Menü Webinterface (Standard) Webinterface designen werden alle definierten Web-Menüstrukturgruppen angezeigt. Über Button „Konfigurieren“ können Web-Menüstrukturgruppen neu erstellt oder geändert werden.

Web-Menüstrukturgruppen verwalten

In den Spalten „Beschreibung“ und „wird genutzt“ wird angezeigt, für welche Aufgabe(n) die Web-Menüstrukturgruppe definierte wurde und ob sie genutzt wird, d.h., ob Berechtigungen für die Web-Menüstrukturgruppe vergeben wurden.

Über das Kontextmenü (rechte Maustaste) kann zur Neuvergabe, zur Bearbeitung und zum Löschen sowie zur Berechtigungsvergabe verzweigt werden.

Über den Button „Regelbasierte Berechtigungsvergabe“ können die dynamischen Berechtigungen definiert werden.

9.3 Webinterface-Menüstruktur

Die Menüstruktur kann kundenindividuell in beliebige Ebenen strukturiert werden. Es wird zwischen Menüknotenpunkten (allgemeine Klassifizierungsebenen wie z.B. Hardware) und Menüpunkten unterschieden.

Es gibt elf Arten von Menüpunkten:

Verzeichnis: Gliederung, siehe auch Punkt 9.3.1 Menüpunkt Verzeichnis.

Sicht: Einzelne Tabellen, siehe auch Punkt 9.3.2 Menüpunkt Sicht.

Sicht nach Auswahlwerten: Tabelle nach Kategorien, siehe auch Punkt 9.3.3 Menüpunkt Sicht nach Auswahlwerten.

Link: Direkter Link, siehe auch Punkt 9.3.4 Menüpunkt Link.

Individuelle Maske: Direkter Aufruf einer individuellen Maske, siehe auch Punkt 9.3.5 Menüpunkt Individuelle Maske.

Dashboard: Direkter Aufruf eines Dashboards, siehe auch Punkt 9.3.6 Menüpunkt Dashboard.

Matrix: Direkte Darstellung einer Matrix, siehe auch Punkt 9.3.7 Menüpunkt Matrix.

Distinct: Gruppieren einer Tabelle. Auch mehrere Ebenen sind möglich, siehe auch Punkt 9.3.8 Menüpunkt distinct.

Masseneingabe: Direkter Aufruf einer Masseneingabe, siehe auch Punkt 9.3.9 Menüpunkt „Masseneingabe“.

Standardbearbeitungsmaske: Direkter Aufruf einer individuellen Maske, siehe auch Punkt 9.3.10 Menüpunkt „Standardbearbeitungsmaske“.

Ist/Soll-Datenbestand: Direkter Aufruf eines Ist/Soll-Vergleich, siehe auch Punkt 9.3.11 Menüpunkt Ist/Soll-Datenbestand.

RelationMiner: Direkter Aufruf eines RelationMiners, siehe auch Punkt 9.3.12 Menüpunkt RelationMiner.

Die Ausgangsmenge der aufzurufenden Tabellen kann auch individuell durch entsprechende SQL-Anweisungen zusammengestellt bzw. eingeschränkt werden.

9.3.1 Menüpunkt Verzeichnis

Text

Angabe des Verzeichnisses (Menüknotenpunkt)

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen

Aufgeklappt

Angabe, dass alle Menüpunkte eines Menüknotenpunktes beim Start sofort vollständig angezeigt werden.

9.3.2 Menüpunkt Sicht

Menüpunkte für die Sicht auf Tabellen definieren.

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um den Menüpunkt für die Sicht auf eine Tabelle zu definieren.

Text

Gibt den Namen des Menüpunktes an.

Hinweis: Wenn das Textfeld leer ist und in der Auswahlliste eine Tabelle ausgewählt wird, wird der Plural der ausgewählten Tabelle in das Textfeld kopiert.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

CI

Auswählen der Tabelle, die vom Menüpunkt zur Anzeige aufgerufen wird.

Eigene Listenkonfiguration

Gibt an, ob die Sicht auf die Daten abweichend vom vorgegebenen Standard für diesen Menüpunkt geändert bzw. erweitert werden soll.

Konfigurieren

siehe auch Punkt 9.11.5.4 Listenkonfiguration

Für die Sicht kann eine eigene Überschrift angegeben werden.

Es wird angezeigt, welche Spalten der Tabelle (Ausgangstabelle) in welchem Anzeigeformat dargestellt werden und die Änderungs-/Anpassungsmöglichkeiten:

Anzahl der Tabellenspalten verringern bzw. erhöhen

Reihenfolge der Darstellung ändern (verschieben mit der Maus)

Anzeigeformat der Tabellenspalten (Doppelklick auf die Spalte Anzeigeformat)

Sortierreihenfolge und Sortierung (aufsteigend/absteigend)

Im oberen Fenster werden alle Tabellen, deren Spalten in der Sicht dargestellt werden, angezeigt. Durch Klick auf das Tabellensymbol

können noch weitere Spalten von Tabellen, die mit der Tabelle in einer Beziehung stehen, für die Anzeige in der Sicht ausgewählt werden

können zugeordnete Tabellen wieder gelöscht werden. D.h., die Spalten der Tabellen werden nicht mehr in der Sicht dargestellt.

Filter

Auswahlwert

Gibt an, nach welchem Auswahlwert die anzuzeigende Ausgangsmenge der Tabelle eingeschränkt wird.

Where-Klausel

Definiert den Filter auf der Where-Ebene. Dies ist sinnvoll für „schwache“ Filter, die z.B. die Zeilenanzahl von 100.000 Zeilen auf 70.000 Zeilen reduzieren.

Schnell-Filter

Schnell-Filter vorschalten

Wenn dies aktiv ist, erscheint im Webinterface nach dem Anklicken zuerst der Schnell-Filter.

Konfigurieren

Der erste Schnell-Filter lässt sich konfigurieren, um z.B. selten genutzte Spalten auszublenden.

Schnell-Filter (Standard) vorkonfigurieren

Standard-Schnell-Filter ist der Filter, der erscheint, wenn in der Toolbar des Webinterface der Schnell-Filter angeklickt wird.

Schnell-Filter Repository

Ermöglicht die Definition mehrerer Schnell-Filter. Diese erscheinen in der Toolbar des Webinterface als Untermenü des Buttons „Schnell-Filter“.

Registerkarte „SQL-Filter“

Verwenden Sie diese Registerkarte, um die Ausgangsmenge der aufzurufenden Tabellen individuell durch entsprechende SQL-Anweisungen einzuschränken.

9.3.3 Menüpunkt Sicht nach Auswahlwerten

Text

Gibt den Namen des Menüknotenpunktes für die Tabelle an.

Trick: Wenn das Textfeld leer ist und in der Auswahlliste eine Tabelle ausgewählt wird, dann wird der Plural der ausgewählten Tabelle in das Textfeld kopiert.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

CI

Auswählen der Tabelle, für die Menüpunkte generiert werden sollen.

Auswahlspalte

Gibt an, dass für jeden Wert der ausgewählten Auswahlspalte ein Menüpunkt generiert wird und dass die anzuzeigende Ausgangsmenge nach dem Auswahlwert eingeschränkt wird.

Aufgeklappt

Angabe, dass alle generierten Menüpunkte beim Start sofort vollständig angezeigt werden.

Schnell-Filter benutzen

Wenn dies aktiv ist, erscheint im Webinterface nach dem Anklicken zuerst der Schnell-Filter.

Schnell-Filter konfigurieren

Der erste Schnell-Filter lässt sich konfigurieren, um z.B. selten genutzte Spalten auszublenden.

Eigene Listenkonfiguration

Option ja

Gibt an, ob die Sicht auf die Daten abweichend vom vorgegebenen Standard für diesen Menüpunkt geändert bzw. erweitert werden soll.

Konfigurieren

Konfiguriert die Listenkonfiguration

9.3.4 Menüpunkt Link

Registerkarte „Allgemein“

Text

Gibt den Namen des Menüpunktes an.

übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

URL

Angabe der URL-Adresse, die vom Menüpunkt aufgerufen werden soll.

pSessionKey-Parameter anbinden

Wenn dies aktiv ist, wird die URL automatisch um „&pSessionKey=<aktueller SessionKey>“ erweitert.

URL über SQL generieren

Wenn dies aktiv ist, wird die oben angegebene URL ignoriert und die hier definierte SQL-Ausweisung wird ausgeführt. Das Ergebnis (erste Zeile und erste Spalte) wird als URL genutzt.

Kontextvariablen

Variablen, die in SQL genutzt werden können.

Registerkarte „Öffnen“

Fenster

Gibt an, wo und wie der Link geöffnet wird.

Registerkarte „Öffnen“

Gibt an, ob und wie, mit welchen Layout-Optionen und Parameter das Formular über Javascript geöffnet wird.

Registerkarte „Anzeigeberechtigungen“

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

siehe auch Punkt 9.3.5 Menüpunkt Individuelle Maske

9.3.5 Menüpunkt Individuelle Maske

Ermöglicht es, eine individuelle Maske direkt aus dem Menü zu öffnen.

Registerkarte „Allgemein“

Text

Gibt den Namen des Menüpunktes an.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

Individuelle Maske

Individuelle Maske, die geöffnet wird.

Öffnen in

Gibt an, wie die individuelle Maske geöffnet wird.

Bearbeitungsmöglichkeiten

Hier wird vorkonfiguriert, im welchem Modus die Maske geöffnet wird und ob die Maske eventuell für ein konkretes Objekt geöffnet wird. Wenn die Option „bearbeiten“ oder „Details“ aktiv ist, erscheint nach dem Anklicken eine Auswahlmaske, in der ein konkretes Objekt ausgewählt werden kann.

Registerkarte „SQL-Filter“

Verwenden Sie diese Registerkarte, um die Ausgangsmenge der aufzurufenden Tabellen individuell durch entsprechende SQL-Anweisungen einzuschränken.

Registerkarte „Anzeigeberechtigungen“

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

Es sind vier Varianten möglich:

1. alle Webbenutzer

Der Menüpunkt ist für alle Webbenutzer sichtbar

2. Webbenutzer nach Standardberechtigungsmodell (Rollen etc.)

In der Management Console werden die Berechtigten direkt eingegeben (Mitarbeiter, Rolle, Org.einheiten, Firmen)

3. Webbenutzer nach SQL

Für "berechtigt" muss das SQL-Script eine 1 als Recordset zurückgeben (select 1, nicht return 1). Alle anderen Ergebnisse werden als "nicht-berechtigt" interpretiert.

Die ID des aktuellen Webbenutzers ist in Variable $_AnwID.

4. Kombination 2. und 3.

Ergebnis ist die Schnittmenge, also logisches UND.

9.3.6 Menüpunkt Dashboard

Ermöglicht es, ein Dashboard direkt aus dem Menü zu öffnen.

Registerkarte „Allgemein“

Text

Gibt den Namen des Menüpunktes an.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

Dashboard

Dashboard, das geöffnet wird.

Öffnen in

Gibt an, wo und wie das Dashboard geöffnet wird.

Registerkarte „Anzeigeberechtigungen“

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

siehe auch Punkt 9.3.5 Menüpunkt Individuelle Maske

9.3.7 Menüpunkt Matrix

Ermöglicht es, eine Matrix direkt aus dem Menü zu öffnen.

Registerkarte „Allgemein“

Text

Gibt den Namen des Menüpunktes an.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

Matrix

Matrix, die geöffnet wird.

Registerkarte „Anzeigeberechtigungen“

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

siehe auch Punkt 9.3.5 Menüpunkt Individuelle Maske

9.3.8 Menüpunkt distinct

Dieser Menüpunkt ermöglicht es, eine definierte Datenmenge zu gruppieren, auch über mehrere Spalten. Das Ergebnis ist entweder eine Liste (wenn über eine Spalte gruppiert wird) oder ein strukturiertes Menü (wenn über mehrere Spalten gruppiert wird).

Registerkarte „Allgemein“

Text

Gibt den Namen des Menüpunktes an.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

CI

Basistabelle

Aufklappen konfigurieren

Hier wird konfiguriert, welche Ebenen automatisch aufgeklappt/geöffnet werden sollen.

Format

Hier wird das Format für jede Ebene konfiguriert. Die Kombination mit HTML ist möglich.

Optimieren

Hier wird eingestellt, wann „inner join ReportObj“ und wann „in (…)“ genutzt werden sollte.

Menüpunkt ausblenden, wenn keine Ergebnisse

Hier kann angegeben werden, dass der Menüpunkt nur bei vorhandenen Ergebnissen angezeigt wird.

SQL-Definition

Hier werden einzelne Teile der SQL-Anweisung definiert.

Registerkarte „Auswerten“

Hier wird definiert, was nach dem Anklicken passiert.

Sicht

Wenn diese Option aktiv ist, wird nach dem Anklicken eine Sicht generiert und entsprechend der angeklickten Werte automatisch eingeschränkt.

Beispiel: distinct über ANW_Anrede und ANW_Name2 (=Nachname)

Im Menü wird ein Baum mit zwei Ebenen generiert. Die erste Ebene enthält alle Anreden, die zweite Ebene (für jede Anrede) enthält alle Nachnamen. Wenn der Webuser dann „H Mustermann“ anklickt, erscheinen in der Liste alle Nachnamen „Mustermann“ mit der Anrede „Herr“.

URL über SQL generieren

Wenn diese Option aktiv ist, wird nach dem Anklicken im Menü die URL über das angegebenes SQL generiert. Die angeklickten Baumitems sind in den Variablen $_colum1 bis $_column9. Im obigen Beispiel wäre $_column1 gleich „H“ und $_column2 gleich „Mustermann“.

Registerkarte „Öffnen in“

Hier wird definiert, wo und wie die Sicht oder der generierte Link geöffnet wird.

Hinweis zum „Öffnen über Javascript (window.open)

Die URL wird im neuen Fenster (Pop-Up) geöffnet. Die Größe und die Position können eingestellt werden.

Parameter

Links, Oben, Breite, Höhe

Vorgegebene Position und Größe, siehe Parameter „Position“

Position

manuell

Genutzt werden {Links, Oben, Breite, Höhe}

zentriert

Genutzt werden die Breite und Höhe. Die Position passt sich an.

maximiert

Das Pop-Up-Fenster nutzt die gesamte Bildschirmauflösung

nach der zurückgegebenen individuellen Maske

Wenn die in SQL generierte URL auf eine individuelle Maske verweist (/userform...), werden aus der URL die konkrete individuelle Maske und ihre Größe ausgelesen und das aufpoppte Fenster in dieser Größe geöffnet und zentriert.

Text

Gibt den Namen des Menüpunktes an, von dem der vordefinierte Report aufgerufen wird. Im Webinterface wird der entsprechende Report dem jeweiligen Report-Menüpunkt zugeordnet.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

9.3.9 Menüpunkt „Masseneingabe“

Ermöglicht es, eine Masseneingabe direkt aus dem Menü zu öffnen.

Registerkarte „allgemein“

Text

Gibt den Namen des Menüpunktes an.

übergeordnetes Menü-Item

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

Masseneingabe

Masseneingabe, die geöffnet wird.

Registerkarte „SQL-Filter“

Verwenden Sie diese Registerkarte, um die Ausgangsmenge der zu bearbeitenden Objekte individuell durch entsprechende SQL-Anweisungen einzuschränken.

Registerkarte „Anzeigeberechtigungen“

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

siehe auch Punkt 9.3.5 Menüpunkt Individuelle Maske

9.3.10 Menüpunkt „Standardbearbeitungsmaske“

Text

Gibt den Namen des Menüpunktes an.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

Tabelle

Angabe der Tabelle, für die die Standardbearbeitungsmaske geöffnet wird.

Öffnen in

Wie die Maske geöffnet wird.

Bearbeitungsmöglichkeiten

Wenn „bearbeiten“ oder „Details“ ausgewählt, wird im Webinterface nach dem Anklicken des Menüpunkt eine Auswahlmaske angezeigt, in der dann ein konkretes Objekt ausgewählt werden kann.

Bei „neu“ wird sofort zur Standardbearbeitungsmaske zur Erfassung eines neuen Objektes verzweigt.

SQL-Filter

Verwenden Sie diese Registerkarte, um die Ausgangsmenge der zu bearbeitenden Objekte individuell durch entsprechende SQL-Anweisungen einzuschränken.

Anzeigeberechtigungen

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

siehe auch Punkt 9.3.5 Menüpunkt Individuelle Maske

9.3.11 Menüpunkt Ist/Soll-Datenbestand

Ermöglicht es, ein Ist/Soll-Vergleich direkt aus dem Menü zu öffnen.

Registerkarte „Allgemein“

Text

Gibt den Namen des Menüpunktes an.

Übergeordnetes Menüitem

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

Ist/Soll

Der Ist/Soll-Vergleich.

Öffnen in

Gibt an, wo und wie der Ist/Soll-Vergleich geöffnet wird.

Registerkarte „Anzeigeberechtigungen“

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

siehe auch Punkt 9.3.5 Menüpunkt Individuelle Maske

9.3.12 Menüpunkt RelationMiner

siehe auch Punkt 9.15 RelationMiner

Registerkarte „Allgemein“

Text

Gibt den Namen des Menüpunktes an.

Übergeordneter Menüpunkt

Menüknotenpunkt der nächsthöheren Hierarchieebene zuordnen.

Starttabelle

Optional: Die Starttabelle für den RelationMiner.

Endtabelle

Optional: Die Endtabelle für den RelationMiner.

Registerkarte „Öffnen in“

Hier wird definiert, wo und wie der RelationMiner geöffnet wird.

Identisch mit den anderen Menüpunkten.

Registerkarte „Anzeigeberechtigungen“

Hier wird definiert, welchem Webbenutzer (oder allen Webbenutzern) der Menüpunkt angezeigt wird.

siehe auch Punkt 9.3.5 Menüpunkt Individuelle Maske

9.4 Hierarchische Beziehungsübersicht      

Tabellen mit rekursiven Beziehungen (1:n, n:m), wie z.B. die Standorttabelle, können als Baumstruktur im Webinterface dargestellt werden.

Unter dem Punkt „Ansichtsarten“ werden alle Tabellen mit rekursiven Beziehungen, die als Baumstruktur im Webinterface dargestellt werden sollen, angezeigt:

Spalte Tabelle

Spalte Ansichtsname: Name der Ansichtsart, die im Webinterface als Ansichtsart ausgewählt werden kann

Spalte Ansichtstyp: Baum = 1:n-Beziehung, Matrix als Baum = n:m-Beziehung

Spalte Standard: zeigt an, ob die Ansichtsart für die Tabelle als Standard im Webinterface verwendet wird

Über das Kontextmenü (rechte Maustaste) kann zur Neuanlage, zur Bearbeitung oder zum Löschen der Ansichtsart verzweigt werden.

Erstellung / Bearbeitung von hierarchischen Beziehungsübersichten

Ansichtstyp „Baum“

Verwenden Sie diesen Typ, wenn Sie die Ansichtsart „Baumstruktur“ für eine rekursive 1:n-Beziehung definieren.

Name

Gibt den Namen der Ansichtsart für die Auswahl im Webinterface an.

Tabelle

Gibt den Namen der Tabelle an, die mit ihren rekursiven 1:n-Beziehungen als Baumstruktur angezeigt wird.

Über Spalte (parent)

Gibt den Fremdschlüssel für die rekursive Beziehung an.

Standardansicht für die Tabelle

Gibt an, ob die Ansichtsart für die Tabelle als Standard im Webinterface verwendet wird.

Aufgeklappt

Gibt an, ob im Webinterface die komplette Baumstruktur für die Tabelle sofort beim Aufruf der Tabelle bzw. bei der Auswahl der Ansichtsart für die Tabelle dargestellt wird.

Beschreibung

Zu Dokumentationszwecken wird die Ansichtsart beschrieben.

Ansichtstyp „Matrix als Baum“

Verwenden Sie diesen Typ, wenn Sie die Ansichtsart „Baumstruktur“ für eine rekursive n:m-Beziehung definieren.

Name

Gibt den Namen der Ansichtsart für die Auswahl im Webinterface an.

Tabelle

Gibt den Namen der Tabelle an, die mit ihren rekursiven n:m-Beziehungen als Baumstruktur angezeigt wird.

n:m-Tabelle

Gibt den Namen der n:m-Tabelle an.

Über Spalte (parent)

Gibt den ersten Fremdschlüssel für die rekursive Beziehung an.

Über Spalte (unter)

Gibt den zweiten Fremdschlüssel für die rekursive Beziehung an.

Standardansicht für die Tabelle

Gibt an, ob die Ansichtsart für die Tabelle als Standard im Webinterface verwendet wird.

Aufgeklappt

Gibt an, ob im Webinterface die komplette Baumstruktur für die Tabelle sofort beim Aufruf der Tabelle bzw. bei der Auswahl der Ansichtsart für die Tabelle dargestellt wird.

Beschreibung

Zu Dokumentationszwecken wird die Ansichtsart beschrieben.

9.5 Anzeigeformate

Die Umwandlung erfolgt über C#-Script statt T-SQL-Script.

Unter dem Punkt „Anzeigeformate“ werden alle Formate angezeigt, die für die standardmäßige Anzeige von Attributwerten im Webinterface ausgewählt werden können. Bei der Anlage von Attributen kann angegeben werden, in welchem Format der Wert standardmäßig angezeigt wird, z.B. negativer Wert in rot, Beträge in Euro oder Wert als Graph.

Hinweis: Die umgewandelten Werte werden nur bei der Anzeige genutzt. Bei Sortierung, Suche und Filtern werden die Originalwerte genutzt.

Die Umwandlung erfolgt über ein C#-Script.

Kontextvariablen

Name

Typ

Beschreibung

orig_value

string

Diese Variable enthält das Original-Wert

new_value

string

In dieser Variable sollte das C#-Script der neue Werte kopieren.

forecolor

string

Textfarbe (als HTML)

bgcolor

string

Hintergrundfarbe (als HTML)

bui

Int

Bitmask

1…Fett

2…Unterstrichen

4…Kursiv

Bitte beachten Sie, dass die Variablen orig_value und new_value immer vom Typ string sind, auch wenn der Wert eine Nummer oder Datum/Zeit ist.

Beispiel 1: keine Änderung

new_value = orig_value;

Beispiel 2: rote Farbe

new_value = orig_value;

forecolor = "red";

Beispiel 3: roter Hintergrund

new_value = orig_value;

bgcolor = "red";

Beispiel 4: fett und kursiv

new_value = orig_value;

bui = 1 + 4;

Beispiel 5: kein ‘@’ gefunden => roter Hintergrund

new_value = orig_value;

if (orig_value.IndexOf("@")<0) { bgcolor = "red"; bui = 2; }

Unter dem Punkt „Anzeigeformate“ werden alle Anzeigeformate für die Attribute angezeigt.

Über das Kontextmenü (rechte Maustaste) kann zur Neuanlage, zur Bearbeitung oder zum Löschen eines Anzeigeformats verzweigt werden.

Erstellung / Bearbeitung von Anzeigeformaten

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um das Anzeigeformat zu definieren.

Name

Gibt den Namen des Anzeigeformats an.

Ergebnis als HTML (direkt)

Wenn aktiv, wird das Ergebnis (Variable new_value) 1:1 übernommen und die HTML-unfreundlichen Zeichen werden nicht umgewandelt.

Registerkarte „Programmierung“

Verwenden Sie diese Registerkarte, um das entsprechende C#-Script für die Umwandlung des Attributwertes in das gewünschte Anzeigeformat zu definieren.

Variablen

Variablen, die für die Erstellung des C#-Scripts verwendet werden können.

Registerkarte „Referenzen/Usings“

Definieren Sie hier die C#-Referenzen (DLLs) und Usings.

9.6 Kontextmenü

Das Kontextmenü kann dahingehend erweitert werden, dass Sie direkt aus dem Kontextmenü

- eine URL aufrufen (z.B. die Firmenwebseite), siehe auch Punkt 9.6.1 Direkter Aufruf einer eigenen URL

- einen Auswahlwert zuordnen (z.B. Rechnerart), siehe auch Punkt 9.6.2 Direkte Übernahme eines Auswahlwertes

- einen Fremdschlüssel zuordnen (z.B. Rechnerstatus). siehe auch Punkt 9.6.3 Direkte Übernahme eines Fremdschlüssels

- ein CI ersetzen, siehe auch Punkt 9.6.4 CI Ersetzen

- ein CI kopieren, siehe auch Punkt 9.6.5 CI kopieren

- Objekte über n:m-Beziehung (z.B. Rollen zuordnen), siehe auch Punkt 9.6.6 Direkte n:m Zuordnung

- eine Standardbearbeitungsmaske öffnen, siehe auch Punkt 9.6.7 Standardbearbeitungsformular öffnen

- eine Individuelle Maske öffnen, siehe auch Punkt 9.6.8 Individuelle Maske öffnen

- eine 360-Grad-Sicht-Maske öffnen, siehe auch Punkt 9.6.9 Standarddetailmaske

- den RelationMiner öffnen, siehe auch Punkt 9.6.10 RelationMiner

können.

Unter dem Punkt Webinterface (Standard) => Kontextmenü werden alle direkten Übernahmemöglichkeiten und Aufrufmöglichkeiten für die Tabellen angezeigt.

Spalte Tabelle(n)

Spalte Text: Name des Kontext-Items für die direkte Übernahme bzw. den direkten Aufruf

Spalte Art: Art: um welch Art der Übernahme handelt es sich

Spalte Beschreibung

Über das Kontextmenü (rechte Maustaste) kann zur Neuanlage, zur Bearbeitung oder zum Löschen der Kontext-Items verzweigt werden.

Kontext-Untermenü

Bei einigen Tabellen kann das Kontextmenü groß sein. Um es übersichtlicher zu gestalten, besteht die Möglichkeit, die Menüpunkte zu gruppieren und im Kontextmenü als Untermenü darzustellen.

9.6.1 Direkter Aufruf einer eigenen URL

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um das Kontext-Item für den direkten Aufruf Ihrer eigenen URL zu definieren.

Text

Gibt den Namen des Kontext-Items an, mit dem die eigene URL aufgerufen wird.

Menüblock

Gibt an, wo das Kontext-Item zugeordnet wird. Es gibt drei Möglichkeiten:

a. Kontextmenü => Menüblock Bearbeiten

b. Kontextmenü => Menüblock Auswertungen

c. in der Zeile, d.h. das Kontext-Item (Icon) erscheint in jeder Sicht neben dem Icon für das Kontextmenü. Dies ist hilfreich bei oft benutzen Kontext-Items.

Icon 16X16

Das grafische Symbol für das Kontext-Item.

siehe auch Punkt 1.26 Maske „Bild Auswählen“

Kontext-Untermenü

Zuordnung des Kontext-Items als Beziehung zu einem Kontext-Untermenü.

Neu: Anlegen eines neuen Kontext-Untermenüs

Durch die Zuordnung der Beziehungen zu einem Kontext-Untermenü wird eine weitere Detailtiefe im Webinterface für die Auswahl/Selektion der Beziehungen im Kontextmenü erstellt (Drill Down).

Beschreibung

Zu Dokumentationszwecken wird die URL beschrieben.

Registerkarte „CIs“

Auswahl der Tabellen, die von der URL genutzt werden.

Registerkarte „SQL-Filter“

Verwenden Sie diese Registerkarte, um die Ausgangsmenge der aufzurufenden Tabellen individuell durch entsprechende SQL-Anweisungen einzuschränken.

Art des SQL

Gibt an, welche Art von Anweisungen für den SQL-Filter verwendet werden.

SQL

In Abhängigkeit von der Art der zu verwendenden SQL-Anweisungen werden die Anweisungen für die Einschränkungen definiert.

Beispiele

Als Hilfe für die Definition der SQL-Anweisungen sind verschiedene Arten von SQL-Anweisungen aufgeführt, mit denen entsprechende SQL-Filter erstellt werden könnten.

Testen

Zeigt das Ergebnis der ausgeführten SQL-Anweisungen an

Registerkarte „URL“

Fix

Name der URL

URL-Parameter konfigurieren

Gibt die Parameter an, die der URL für die Bearbeitung übergeben werden.

Die Parameter können auf drei Arten definiert werden:

Konstante: Die HTML-unfreundlichen Zeichen werden automatisch umgewandelt

Direkt: Die HTML-unfreundlichen Zeichen werden nicht automatisch umgewandelt

Über SQL-Script: Der Wert wird über ein SQL-Script generiert und kann vom aktuellen Webbenutzer und konkretem CI (für welches das Kontextmenü aktuell generiert wird) sein.

Dynamisch

Der Link wird über SQL dynamisch generiert.

Beispiel für die Tabelle Partnerfirmen:

select 'http://www.' + (select PAF_Firmname from PAF where PAF_ID=$_ObjID) + '.com'

Ergebnis: http://www.microsoft.com

Variablen

Variablen, die für die Erstellung des SQL-Scripts verwendet werden können.

Registerkarte „Öffnen in“

Gibt an, ob die URL in einem neuen Fenster oder im aktuellen Fenster geöffnet wird.

9.6.2 Direkte Übernahme eines Auswahlwertes

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um das Kontext-Item für die direkte Übernahme eines Auswahlwertes zu definieren.

Text

Gibt den Namen des Kontext-Items an, mit dem die Auswahlwerte für die direkte Übernahme angezeigt werden.

      

Menüblock

Gibt an, unter welchen Menüblock im Kontextmenü das Kontext-Item zugeordnet wird.

Kontext-Untermenü

Zuordnung des Kontext-Items als Beziehung zu einem Kontext-Untermenü.

Neu: Anlegen eines neuen Kontext-Untermenüs

Durch die Zuordnung der Beziehungen zu einem Kontext-Untermenü wird im Webinterface eine weitere Detailtiefe für die Auswahl der Beziehungen im Kontextmenü erstellt (Drill Down).

Icon 16X16

Das grafische Symbol für das Kontext-Item.

siehe auch Punkt 1.26 Maske „Bild Auswählen“

Beschreibung

Zu Dokumentationszwecken wird das Kontext-Item beschrieben.

Registerkarte „SQL-Filter“

Verwenden Sie diese Registerkarte, um die Ausgangsmenge der zu übernehmenden Auswahlwerte einzuschränken.

Art des SQL

Gibt an, welche Art von Anweisungen für den SQL-Filter verwendet werden.

SQL

In Abhängigkeit von der Art der zu verwendenden SQL-Anweisungen werden die Anweisungen für die Einschränkungen definiert.

Beispiele

Als Hilfe für die Definition der SQL-Anweisungen sind verschiedene Arten von SQL-Anweisungen aufgeführt, mit denen entsprechende SQL-Filter erstellt werden könnten.

Testen

Zeigt das Ergebnis der ausgeführten SQL-Anweisungen an.

Registerkarte „Auswahlspalte“

Auswahl der Auswahlspalte der Tabelle, deren Auswahlwerte direkt über das Kontext-Item übernommen werden können.

9.6.3 Direkte Übernahme eines Fremdschlüssels

Registerkarte „Allgemein“

Verwenden Sie diese Registerkarte, um das Kontext-Item für die direkte Übernahme eines Fremdschlüssels zu definieren.

Text

Gibt den Namen des Kontext-Items an, mit dem die Schlüsselwerte der Tabelle (Beziehungstabelle) für die direkte Übernahme des Fremdschlüssels angezeigt werden.

Menüblock

Gibt an, unter welchen Menüblock im Kontextmenü das Kontext-Item zugeordnet wird.

Kontext-Untermenü

Zuordnung des Kontext-Items als Beziehung zu einem Kontext-Untermenü.

Neu: Anlegen eines neuen Kontext-Untermenüs

Durch die Zuordnung der Beziehungen zu einem Kontext-Untermenü wird im Webinterface eine weitere Detailtiefe für die Auswahl der Beziehungen im Kontextmenü erstellt (Drill Down).

Icon 16X16

Das grafische Symbol für das Kontext-Item.

siehe auch Punkt 1.26 Maske „Bild Auswählen“

Beschreibung

Zu Dokumentationszwecken wird das Kontext-Item beschrieben.

Registerkarte „SQL-Filter“

Verwenden Sie diese Registerkarte, um die Ausgangsmenge der zu übernehmenden Fremdschlüssel einzuschränken.

Art des SQL

Gibt an, welche Art von Anweisungen für den SQL-Filter verwendet werden.

SQL

In Abhängigkeit von der Art der zu verwendenden SQL-Anweisungen werden die Anweisungen für die Einschränkungen definiert.

Beispiele

Als Hilfe für die Definition der SQL-Anweisungen sind verschiedene Arten von SQL-Anweisungen aufgeführt, mit denen entsprechende SQL-Filter erstellt werden könnten.

Testen

Zeigt das Ergebnis der ausgeführten SQL-Anweisungen an.

Registerkarte „FK-Spalte“

Auswahl der Tabelle (Beziehungstabelle), deren Schlüssel direkt über das Kontext-Item als Fremdschlüssel übernommen werden kann.

9.6.4 CI Ersetzen

Ermöglicht, das Objekt direkt aus dem Kontextmenü zu ersetzen.

Die Registerkarten „Allgemein“ und „SQL-Filter“ sind identisch wie bei „Direkter Aufruf einer eigenen URL

Registerkarte „CI-Ersetzen“

Tabelle

Wählen Sie die Tabelle aus, für die das Kontextmenü gilt.

Beziehungen

Wählen Sie die Beziehungen aus, die ersetzt werden sollen.

9.6.5 CI kopieren

Ermöglicht, dass das Kopieren eines CIs direkt aus dem Kontextmenü aufgerufen werden kann.

Die Registerkarten „Allgemein“ und „SQL-Filter“ sind identisch mit „Direkter Aufruf einer eigenen URL“

Registerkarte „CI-Kopieren“

Tabelle/CI

Wählen Sie die Tabelle aus, für die das Kontextmenü gilt.

Beziehungen

Wählen Sie die Spalten und Beziehungen aus, die kopiert werden sollen.

Bei n:m-Beziehungen können in einer weiteren Verzweigungsstufe die Spalten der M-Tabelle kopiert werden.

9.6.6 Direkte n:m Zuordnung

Ermöglicht es, die Objekte über n:m direkt aus dem Kontextmenü zuordnen, d.h. die zugeordneten Objekte erscheinen im Kontextmenü als Menüitems. Dies ist nur sinnvoll, wenn nur wenige (<20) Objekte in Frage kommen.

Die Registerkarten „Allgemein“ und „SQL-Filter“ sind identisch wie bei „Direkter Aufruf einer eigenen URL

Registerkarte „n:m“

n:m Beziehung

Wählen Sie die Beziehung aus, die bearbeitet werden soll.

9.6.7 Standardbearbeitungsformular öffnen

Ermöglicht es, das Standardbearbeitungsformular aus dem Kontextmenü zu öffnen.

Die Registerkarten „Allgemein“ und „SQL-Filter“ sind identisch mit „Direkter Aufruf einer eigenen URL

Registerkarte „Standardbearbeitungsmaske“

Hier wird die Tabelle für die Standardbearbeitungsmaske ausgewählt.

Kontextmenüpunkt gilt für:

      die ausgewählte Tabelle

Der übliche Fall: die Standardbearbeitungsmaske wird aus Kontextmenü der zugehörigen Tabelle (aktuelles CI) geöffnet

      andere Tabelle (die ID sollte umgewandelt werden)

Wenn aktiv, besteht die Möglichkeit die Standardbearbeitungsmaske aus Kontextmenü einer anderen Tabelle (oder der gleichen Tabelle, aber für andere ID) zu öffnen. Beispiel: die Partnerfirma eines Mitarbeiters aus dem Kontextmenü des Mitarbeiters bearbeiten.

9.6.8 Individuelle Maske öffnen

Ermöglicht es, eine individuelle Maske aus dem Kontextmenü zu öffnen.

Die Registerkarten „Allgemein“ und „SQL-Filter“ sind identisch mit „Direkter Aufruf einer eigenen URL

Registerkarte „Individuelle Maske“

Wählen Sie die individuelle Maske aus, die geöffnet werden soll. Optional kann angegeben werden, dass die Maske im Read-Only-Modus geöffnet werden soll.

Kontextmenüpunkt gilt für:

      Basistabelle der ausgewählten Tabelle

      Der übliche Fall: die individuelle Maske wird aus dem Kontextmenü der zugehörigen Tabelle (aktuelles CI) geöffnet

      andere Tabelle (die ID sollte umgewandelt werden)

      Wenn aktiv, besteht die Möglichkeit, die individuelle Maske aus Kontextmenü einer anderen Tabelle (oder der gleichen Tabelle, aber für andere ID) zu öffnen. Beispiel: aus dem Kontextmenü eines Mitarbeiters dessen Partnerfirma bearbeiten.

Button „URL-Parameter“ konfigurieren

siehe auch Punkt 9.6.1 Direkter Aufruf einer eigenen URL

9.6.9 Standarddetailmaske

Ermöglicht es, die 360-Grad-Sicht-Maske aus dem Kontextmenü zu öffnen.

Die Registerkarten „Allgemein“ und „SQL-Filter“ sind identisch mit „Direkter Aufruf einer eigenen URL

Registerkarte „Standarddetailmaske“

Hier wird die Tabelle für die 360-Grad-Sicht-Maske ausgewählt.

Kontextmenüpunkt gilt für:

Die ausgewählte Tabelle

Der übliche Fall: die Standarddetailmaske wird aus dem Kontextmenü der zugehörigen Tabelle (aktuelles CI) geöffnet

Andere Tabelle (die ID sollte umgewandelt werden)

Wenn aktiv, besteht die Möglichkeit, die Standarddetailmaske aus dem Kontextmenü einer anderen Tabelle (oder der gleichen Tabelle, aber für andere ID) zu öffnen. Beispiel: Aus Kontextmenü eines Mitarbeiters die Details für dessen Partnerfirma anzeigen.

9.6.10 RelationMiner

Die Registerkarten „Allgemein“ und „SQL-Filter“ sind identisch mit „Direkter Aufruf einer eigenen URL

Registerkarte „Öffnen in“

Gibt an, ob die URL in einem neuen Fenster oder im aktuellen Fenster geöffnet wird.

Registerkarte „RelationMiner“

Startpunkt

Die Starttabelle für den RelationMiner.

Für diese Tabelle wird das Kontextmenü genutzt.

Endpunkt

Optional: Die Endtabelle für den RelationMiner.

9.7 Beziehungstypen

Unter dem Punkt „Beziehungstypen“ werden alle Beziehungstypen angezeigt.

Über das Kontextmenü (rechte Maustaste) kann zur Neuanlage, zur Bearbeitung oder zum Löschen eines Beziehungstyps verzweigt werden.

Erstellung / Bearbeitung von Beziehungstypen

Gibt die Art des Beziehungstyps an. Diese Angabe kann bei der Festlegung von Art und Umfang der zu analysierenden Beziehungen für die unterschiedlichen Analysen, wie z.B. Impact-Analyse, Fehlerursachenanalyse etc., herangezogen werden.

9.8 Analysestrukturen

Durch den Explorer lassen sich die im rimacon-System verwalteten Tabellen und ihre Beziehungen zueinander grafisch darstellen.

Um verschiedene Analysen wie z.B. Fehlerursachenanalysen oder Impact-Analysen durchzuführen, lassen sich die Anzahl der angezeigten Tabellen und die Art der dargestellten Beziehungen bzw. Beziehungstypen individuell auswählen und zu einer sog. „Analysestruktur“ zusammenfassen.

Beispiele:

Bei einer Auswirkungsanalyse (Impact) sollen nur die Tabellen und ihre Beziehungen zueinander angezeigt werden, die den Beziehungstyp „erforderlich für, „notwendig für“ ……, haben.

Bei einer Fehlerursachenanalyse sollen nur die Tabellen und ihre Beziehungen zueinander angezeigt werden, die den Beziehungstyp „abhängig von, „erfordert“ ….., haben.

Unter dem Punkt „Analysestrukturen“ werden alle Analysestrukturen für die unterschiedlichen Analysen angezeigt.

Spalte Name: Name der Analysestruktur (für die Auswahl im Explorer)

Spalte Beschreibung: Beschreibung der Analysestruktur (um welche Art der Analyse handelt es sich)

Über das Kontextmenü (rechte Maustaste) kann zur Neuanlage, zur Bearbeitung, zum Löschen oder zur Berechtigungsvergabe einer Analysestruktur verzweigt werden.

Explorer ohne Analysen zu benutzen

Zum Explorer kann auch verzweigt werden, wenn bei der „Erstellung/Bearbeitung von Tabellen angegeben wurde, dass der Explorer ohne Analysestrukturen für die Tabelle aus dem Kontextmenü geöffnet werden darf.

In der Exploreransicht können dann ohne Einschränkung alle Beziehungen angezeigt werden.

Die Einstellung, dass der Explorer für jede Tabelle, für keine oder nur für ausgewählte Tabellen aufgerufen wird, kann in der Management Console unter linkes Menü => Webinterface (Standard) => Web-Einstellungen => Explorer Standard (ohne Analysen) benutzen, geändert werden.

Nach der Erstinstallation ist voreingestellt, dass der Explorer für jede Tabelle aufgerufen werden kann (= ja, alle Tabellen). Unsere Empfehlung ist, diese Einstellung zu ändern.

Folgende Einstellungen können angegeben werden:

Ja, alle Tabellen

Nein. D.h., der Explorer kann von keiner Tabelle aus dem Kontextmenü geöffnet werden

Pro Tabelle definieren. D.h., ob der Explorer für die Tabelle aus Kontextmenü geöffnet werden kann, muss für jede Tabelle bei der Tabellendefinition vorgegeben werden (Unsere Empfehlung), siehe auch Punkt 2.4 Erstellung / Bearbeitung von Tabellen. Diese Einstellung ist für Tabellen mit wenigen Beziehungen geeignet. In der Regel werden die Beziehungen ad hoc in der Explorer-Ansicht angezeigt.

Bei Tabellen mit vielen Beziehungen, empfehlen wir die Definition von Analysestrukturen.

Erstellung / Bearbeitung von Analysestrukturen

Registerkarte „Allgemein“

Name

Gibt den Namen der Analysestruktur an.

Zeichenfolge zur Identifikation

Diese Zeichenfolge (Schlüssel) wird in Scripten zur Identifikation beim Aufruf genutzt. Sie muss eindeutig sein.

Kontextmenü

Gibt an, ob diese Analysestruktur als Menüpunkt im Kontextmenü angezeigt wird. Für Analysestrukturen, die nur in individuellen Masken genutzt werden sollen, schalten Sie diese Option aus.

Text im Kontextmenü

Geben Sie einen eigenen Text für die Anzeige im Kontextmenü ein Wenn kein Text eingegeben, wird automatisch der Text automatisch „Explorer: <Name> “ angezeigt.

Berechtigungsmodell

Geben Sie an, welches Berechtigungsmodell für die Nutzung der Analysestruktur gelten soll:

Standard-Berechtigungsmodell: es gilt die Berechtigung für die Analysestruktur. D.h., Sie vergeben für die Berechtigten (Mitarbeiter, Rollen, Org.einheiten, Partnerfirma) die Berechtigungen für die Nutzung der Analysestruktur

Nach CI: es gelten die Berechtigungen der zugeordneten Tabellen

Public: die Analysestruktur kann unabhängig von den Berechtigungen von allen Web-Nutzern aufgerufen werden

Redundanz in Kette

Gibt an, ob das gleiche CI in einer Kette mehrmals angezeigt werden darf.

Redundante Beziehungen nur einmal anzeigen

Wenn aktiv, wird jede Beziehung nicht mehr als einmal genutzt.

Automatisch Exploren

Gibt an, ob nach dem Öffnen der Explorer-Maske die Analyse und Anzeige der Beziehungen automatisiert erfolgen soll. Wenn nichts angegeben ist, werden die Beziehungen durch Anklicken jeder Ebene manuell angezeigt.

Autom. exploren - maximale Tiefe

Die Tiefe kann dadurch eingeschränkt werden.

Diagramm bevorzugen

Wenn aktiv, wird zu Beginn das Diagramm und nicht der Baum angezeigt.

Kardinalität anzeigen

Wenn aktiv, wird die Kardinalität angezeigt.

Baum OnClick Aktion

Definiert, was nach Anklicken des Baums passieren soll.

Diagramm OnClick Aktion

Definiert, was nach Anklicken des Diagramms passieren soll.

Diagramm Menu Icons

Definiert zusätzliche Menu-Icons.

Beschreibung

Dokumentiert, um welche Art von Analyse es sich handelt.

Registerkarte „Tabellen“

Verwenden Sie diese Registerkarte, um die Tabellen für die Analyse auszuwählen und um die Reihenfolge der Anzeige im Explorer zu bestimmen.

Die Reihenfolge der ausgewählten Tabellen kann per Drag and Drop geändert werden.

Tabelle konfigurieren: Reiter “allgemein”

Darf als Starttabelle genutzt werden

Gibt an, ob die Analyse für diese Tabelle gestartet werden darf. Wenn nichts angegeben ist, wird die Analysestruktur im Kontextmenü nicht angezeigt.

Berechtigungsmodell

Für jede zugeordnete Tabelle der Analysestruktur können explizit Berechtigungen für die Anzeige im Explorer vergeben werden:

sowohl für die Tabelle als auch für die CIs wird das Standard-Berechtigungsmodell genutzt: es gelten die Berechtigungen für die Tabellen bzw. die Berechtigungen für die konkreten Objekte der Tabelle

für die Tabelle wird das Standard-Berechtigungsmodell genutzt. Die Berechtigungen für konkrete Cis der Tabelle gelten nicht für die Anzeige im Explorer.

die Tabelle und alle CIs sind für jeden Nutzer sichtbar: Alle Berechtigungen für die Tabelle gelten nicht für die Visualisierung.

Nach CI: es gelten die Berechtigungen der zugeordneten Tabellen

Anmerkung: Wenn Berechtigungen für die Analysestruktur vergeben wurden, kann es in bestimmten Fällen sinnvoll sein, die Berechtigungsprüfung für Tabellen und CIs für die Anzeige im Explorer nicht durchzuführen. So können auch Tabellen im Explorer angezeigt werden, für die der Webbenutzer keine Berechtigung hat.

Tabelle konfigurieren: Reiter “Filter”

Die Menge von CIs kann eingeschränkt werden.

Tabelle konfigurieren: Reiter “ Ident. über HTML”

Standardmäßig werden die CI-Äquivalente über „Darstellung der Tabelle durch Attributnamen“ erzeugt (siehe auch Punkt 2.7 Darstellung der Tabelle durch Attributnamen). In diesem Reiter ist es möglich eigene Regeln für die Anzeige zu definieren, die nur für diese Analysestruktur gültig sind. Es können auch zusätzliche Merkmale und weitere Attribute konfiguriert werden, die nur in diesem Kontext sinnvoll sind.

Registerkarte „Caching“

Hier wird definiert, ob und wie die Beziehungen gecached werden.

Pro Session

Wenn aktiv, werden die Beziehungen einmal in der aktuellen Sitzung gecached und nicht mehr aktualisiert. Die Initialwerte kommen entweder aus dem globalen Cache (siehe die Option unten) oder aus der Datenbank (d.h. aktuelle Daten).

Global

Wenn aktiv, werden die benötigten Beziehungen aus dem globalem Cache (auf cmdbcore.exe-Ebene) ausgelesen. Die Datenaktualität kann bis zu 5 Sekunden verzögert sein.

Registerkarte „Beziehungstypen“

Verwenden Sie diese Registerkarte, um die Beziehungstypen für die Analysestruktur auszuwählen. Es werden im Explorer dann nur die Tabellen mit ihren Beziehungen angezeigt, die den Einstellungen entsprechen.

9.9 Charts

Mit Charts können Daten grafisch dargestellt werden. Hierbei ist sowohl die Abbildung der Rohdaten

als auch eine statistische Auswertung, wie z.B. Summe, Maximum, Minimum, Anzahl etc. möglich.

Die Datenquelle wird über fixes oder parametrisiertes SQL erzeugt. Um Datenreihen zu gruppieren bzw. zu

aggregieren, wird eine Spalte als Rubrikachse aus der Quelle ausgewählt.

Neben Datenreihen gehören zu einem Chart:

die Überschrift des Charts

die Überschrift der Rubrikachse

die Überschrift der Größenachse

die Legende

Chart erstellen

Es können zwei verschiedene Arten von Charts in der Management Console erstellt werden:

a) Einen Chart, der direkt über eine URL zur Verfügung steht, erstellen Sie, indem Sie in der Management Console ->linkes Menü -> Webinterface (Standard) Charts anklicken. Hier wählen Sie über einen Rechtsklick die Funktion „neu“.

b) Soll ein Chart aus einer individuellen Maske heraus erstellt werden, klicken Sie im Eigenschaftenfenster

der Management Console unter „Design“ auf den Button „Chart hinzufügen“.

Die Darstellung des Charts wird durch die Art der Erstellung nicht beeinflusst.

Konfiguration: siehe auch Punkt 9.11.4.21 Chart.

Chart über URL verwenden

Syntax der URL:

http://<server>:<port>/chart?pChartID=<chartid>?pSessionKey=<sessionkey>&param1=&param2=

Hier gilt:

pChartID

Ist entweder die Nummer in der ID-Spalte oder die „Zeichenfolge zur Identifikation“

pSessionKey

Wird gefordert, wenn die Option "Berechtigungen nutzen" aktiviert wird. Dies verhindert den Zugriff

durch unauthorisierte Webuser.

param1,param2,...:

Kundendefinierte Parameter für SQL.

9.10 Matrix

Matrix ermöglicht es, Daten in einer Matrix darzustellen.

Es können zwei verschiedene Arten von Matrizes in der Management Console erstellt werden.

a) Eine Matrix, die direkt über eine URL zur Verfügung steht, erstellen Sie, indem Sie in der Management Console -> linkes Menü -> Webinterface (Standard) Matrix anklicken

b) Matrix in individuellen Masken, siehe auch Punkt 9.11.4.27 Matrix. Diese Matrix kann nur in der entsprechenden individuellen Maske genutzt werden.

Konfigurieren

siehe auch Punkt 9.11.4.27 Matrix

Matrix über URL verwenden

Syntax der URL:

http://<server>:<port>/showMatrix?pSessionKey=<session_key>&pMtrxID=<matrix_id>

Hier gilt:

pSessionKey

Aktueller SessionKey

pMtrxID

ID der Matrix. Dies entspricht der Spalte MTRX_ID in der Tabelle MTRX.

9.11 Individuelles Maskenlayout

Mit dem Masken-Modul haben Sie die Möglichkeit, eigene Eingabe-/Bearbeitungs- und Anzeigemasken für Ihre individuellen Anforderungen zu erstellen.

Für eine Tabelle lassen sich beliebig viele individuellen Masken definieren, die anstatt oder zusätzlich zum generierten Standardbearbeitungsformular genutzt werden können. Für die Nutzung der Bearbeitungsformulare können entsprechende Berechtigungen vergeben werden.

Die Felder und Elemente lassen sich einfach per Maus platzieren.

9.11.1 Individuelle Maske: Basiseigenschaften

Management Console Webinterface (individuell) Individuelle Masken Liste rechte Maustaste neu:

oder

Management Console Webinterface (individuell) Individuelle Masken Liste rechte Maustaste bearbeiten (andere Eigenschaften)

Tabelle

Gibt an, für welche Tabelle die individuelle Maske angelegt wird.

Name

Name des Bearbeitungsformulars

Text bei „Neu“

Gibt an, welcher Text im Webinterface beim Button „Neu“ angezeigt wird.

Beispiel: „Rechner anlegen“

Wenn kein Text eingegeben wird, wird der Name genutzt.

Text bei „Bearbeiten“

Gibt an, welcher Text im Kontextmenü-Untermenü „bearbeiten“ genutzt wird.

Beispiel: „Rechner bearbeiten“

Wenn kein Text eingegeben wird, wird die Formel „bearbeiten (<Name>)“ genutzt.

Text bei „Details“

Gibt an, welcher Text im Kontextmenü-Untermenü „allgemein“ genutzt wird.

Beispiel: „Rechner-Details“

Wenn kein Text eingegeben wird, wird die Formel „Details (<Name>)“ genutzt.

Zeichenfolge zur Identifikation

Falls Sie diese individuelle Maske aus einem Javascript öffnen möchten, können Sie hier als eindeutigen Identifikator eine definierte Zeichenfolge benutzen.

Wenn Sie die „Zeichenfolge zur Identifikation“ nicht definieren und aus einem Javascript öffnen wollen, müssen Sie eine interne Masken-ID (Tabelle USERFORM Spalte USERFORM_ID) benutzen, die auf verschiedenen Systeme (z.B. Test- und Produktionssystem) nicht identisch sein muss.

Option „Darf im Web-Kontextmenü genutzt werden“

Wenn diese Option nicht angekreuzt ist, erscheint diese Maske im Kontextmenü nicht.

Hinweis: Es gibt diverse andere Möglichkeiten, um die Maske zu öffnen.

Berechtigungen des CIs benutzen

Wenn aktiv, werden beim Öffnen der Maske lediglich die Berechtigungen auf das Objekt geprüft und nicht die Berechtigungen auf die individuelle Maske.

Darf im Lese-Modus geöffnet werden

Wenn aktiv, darf diese Maske aus Kontextmenü im Lese-Modus geöffnet werden.

Darf unter „Neu“ genutzt werden

Wenn aktiv, taucht im Webinterface im Toolbar der Button "Neu" auf.

Beschreibung

Zu Dokumentationszwecken kann das Formular beschrieben werden.

SQL-Filter

Über diesen Filter kann eingeschränkt werden, für welche CIs die Maske genutzt werden kann (d.h. die Maske erscheint im Kontextmenü).

Beispiel: Sie haben die Tabelle „Rechner“ und die Spalte „Typ“ (PC, Server). Über SQL-Filter können Sie die Maske nur auf Server beschränken.

9.11.2 Individuelle Maske designen

Management Console linkes Menü Webinterface (individuell) Individuelle Masken Liste Doppelklick

Die Maske besteht aus:

a) Menü

b) Leiste für hinzufügbare Elemente

c) Fünf Reiter:

            a. Design: GUI

            b. JS-Funktionen: Verwalten von Javascript-Funktionen

            c. JS-Events: Verwalten von Javascript-Ereignissen

            d. JS-Variablen

            e. Javascript Objekte: Ein Baum von allen aktuellen Objekten und deren Funktionen

Zwischen diesen fünf Reitern kann schnell mit der Tastenkombination ALT-1 bis ALT-5 gewechselt werden.

Wenn Sie zum Reiter „Javascript Objekte“ wechseln, wird der Baum für das aktuell ausgewählte Element geöffnet.

Reiter Design

Dies ist ein Standard-GUI. Die Elemente werden per Klick ausgewählt und rechts erscheinen die Eigenschaften.

Reiter JS-Funktionen

Hier verwalten Sie die Javascript-Funktionen, die Sie in eigenen Javascripten nutzen können. Über Buttons „Hinzufügen“, “Löschen“ und „Umbenennen“ werden die lokalen Javascript-Funktionen verwaltet, d.h. diese Funktionen gelten nur in dieser individuellen Maske.

Über den Button „Globale JS-Funktionen zuordnen“ ordnen Sie eine oder mehrere globale JS-Funktion(en) zu. Die globalen JS-Funktionen verwalten Sie unter Webinterface (individuell) Individuelle Masken Globale Javascript-Funktionen

Reiter JS-Events

Hier wird ein konkretes Ereignis eines konkreten Elements definiert.

Reiter JS-Variablen

Hier werden sowohl die lokalen als auch die globalen Variablen verwaltet. Die lokalen Variablen sind nur in dieser Maske gültig. Nach Initiierung der Maske wird der vordefinierte Wert zugeordnet und kann während der Nutzungsdauer der Maske geändert werden.

Reiter Javascript Objekte

Hier werden alle Namespaces, Objekte und deren Funktionen inkl. Beschreibung angezeigt.

9.11.3 Hauptformular

Attribute

andere

Siehe „Erweiterte Einstellungen“.

Breite, Höhe

Ausgangsgröße bei Darstellung im Webinterface.

Berechtigungen cachen

Beim Öffnen und Speichern einer individuellen Maske werden verschiedene Berechtigungen geprüft (auf die Tabelle, auf das Objekt, individuelle Maske usw.), was eine gewisse Zeit in Anspruch nehmen kann. Um dies zu erleichtern und zu beschleunigen, werden die Berechtigungen standardmäßig alle 300 Sekunden gecached. Falls der Wert für Ihre individuelle Maske nicht passt, können Sie dieses Attribut ändern. Wird der Wert auf 0 gesetzt, werden die benötigten Berechtigungen bei jedem Aufruf geprüft.

Hintergrund

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

CustomHTML

Beispiel:

<div id="meine_firma__status" style='position:absolute;left:300;top:20;width:30;height:30'></div>

MainForm.afterFormInit

var RU=rimacon._userform, RUC=rimacon._userform._customer;

var s=document.getElementById("meine_firma__status");

if (RU.VCOL_STAT.getValue()==1) s.style.backgroundColor="yellow";

if (RU.VCOL_STAT.getValue()==2) s.style.backgroundColor="red";

if (RU.VCOL_STAT.getValue()==3) s.style.backgroundColor="green";

Hinweis: Bei der Definition eigener HTML-Objekte dürfen durch die ID keine Konflikte mit bestehenden rimacon-Elementen auftreten. Nutzen Sie daher einzigartige Präfixe wie z.B. den Namen Ihrer Firma.

SQL After Save

SQL-Anweisungen werden nach dem Speichern ausgeführt. Dies ermöglicht weitere Datenbankänderungen

SQLBeforeFormFirstInited

Dieses SQL-Script wird vor der ersten Maskeninitiierung ausgeführt. Wenn ein Recordset zurückgegeben wird, wird der vorhandene pID-Parameter durch den Wert aus der ersten Zeile der ersten Spalte ersetzt. Dadurch ist es möglich, die über die URL ausgegebene pID zu ändern.

Dies ist besonders hilfreich in den folgenden Fällen:

1) pID erzeugen

Der Caller kennt die konkrete pID nicht und die Identifizierung erfolgt über einen anderen Parameter.

Beispiel: Maske für Rechner bearbeiten: Eine Drittanbieter-Applikation kennt die rimacon-Datenbank-Rechner-Tabelle nicht und öffnet daher statt pID=<HWM.HWM_ID> die Maske mit dem Rechnernamen.

/userform?pSessionKey=<sessionkey>&pUserformID=<userformid>&RechnerName=NB020HH

Wenn die Maske für einen solchen Fall vorbereitet ist, kann in SQLBeforeFormFirstInit der RechnerName in ID konvertiert werden:

if $pID=0 and '$RechnerName'<>'' select HWM_ID from HWM where HWM_COMPNAME = '$RechnerName'

Im obigen Beispiel wird $RechnerName durch NB020HH ersetzt.

2) CI erstellen

Der Caller möchte, dass ein Objekt erstellt und sofort im Bearbeitungsmodus geöffnet wird.

Fehler „melden":

Falls die SQLBeforeFormFirstInit die Parameter prüft und einen Fehler findet, sollte das zurückgegebene Recordset mit "error=" anfangen.

Beispiel:

select 'error=Parameter xy ist falsch.'

Validator konfigurieren

Prüfungen konfigurieren, die durchgeführt werden, bevor das Formular gespeichert wird. Hierfür sind keine Programmierkenntnisse erforderlich.

Darüber hinaus können noch weitere Prüfungen zur Validierung über Javascript und C# erstellt werden.

Die Durchführung der Prüfungen erfolgt in folgender Reihenfolge:

1) die konfigurierten Prüfungen unter „Validator konfigurieren“

2) die in Javascript erstellten Prüfungen unter JS-Ereignis “customValidator”

3) die in C# erstellten Prüfungen unter Serverereignis “CustomValidator”

Funktionen

autoMoveAndResize.*

Diese Funktion ermöglicht für die konkrete Maskeninstanz das Auslesen und das Ändern der Originaleinstellungen (im rmC) von Größe und Position.

callFncOnAsyncSQLApiDone(key,fnc)

Definiert, welche Funktion nach Beenden einer asynchronen SQL-API-Funktion aufgerufen wird.

Der Parameter key enthält den aus dem Aufruf der SQL-API-Funktion zurückgegebenen Wert.

checkIsAsyncSQLApiRunning(key)

Gibt zurück, ob die asynchrone SQL-API noch immer läuft.

Der Parameter key enthält den aus dem Aufruf der SQL-API-Funktion zurückgegebenen Wert.

close()

Schliesst das Fenster.

ContinueAfterSaveOrApply()

Siehe StopAfterSaveOrApply().

convertToServerFormatAsString(tx,convert_date,convert_time)

Konvertiert die Zeichenfolge aus dem Parameter tx in die deutsche Zeitzone und das deutsche Datumformat und gibt das Ergebnis als Zeichenfolge zurück.

Parameter convert_date gibt an, ob das Datum betrachtet werden soll.

Parameter convert_time gibt an, ob die Zeit betrachtet werden soll.

Wenn die Zeichenfolge dem aktuellen Datumformat nicht entspricht, wird eine leere Zeichenfolge zurückgegeben.

convertToServerFormatAsJSDate(tx,convert_date,convert_time)

Konvertiert die Zeichenfolge aus dem Parameter tx in die deutsche Zeitzone und das deutsche Datumformat und gibt das Ergebnis als Javascript-Date-Objekt zurück.

Parameter convert_date gibt an, ob das Datum betrachtet werden soll.

Parameter convert_time gibt an, ob die Zeit betrachtet werden soll.

Wenn die Zeichenfolge dem aktuellen Datumformat nicht entspricht, wird eine Javascript-null zurückgegeben.

debug

Dieses Objekt hat zwei Funktionen:

- alert(msg): Ruft die window.alert-Funktion auf. Wenn der Debug-Modus zurückgesetzt ist oder der aktuelle Webbenutzer keine Berechtigungen für das debug-Objekt hat, wird der Aufruf dieser Funktion ignoriert.

- trace(msg): Schickt eine Zeichenfolge an den HTTP-Server. Eine Liste aller gesendeten Zeichenfolgen wird im Browser unter http://server:port/WebTrace angezeigt. Wenn der Debug-Modus zurückgesetzt ist oder der aktuelle Webbenutzer keine Berechtigungen für das debug-Objekt hat, wird der Aufruf dieser Funktion ignoriert.

getBaseObjID()

Gibt die ID des aktuell bearbeiteten Objektes zurück. Gibt bei "neu" eine 0 zurück.

getBaseTable()

Gibt zurück, auf welche Tabelle (z.B. ANW,ROL, etc...) die individielle Maske zugreift. Bei tabellenunabhängigen Masken wird eine leere Zeichenfolge zurückgegeben.

getBaseWebURL()

Gibt den Webpfad (z.B. http://11.22.33.44:8080) ohne das Endzeichen \ oder / zurück.

getClientHeight()

Gibt die innere Fensterhöhe in Pixel zurück.

getClientWidth()

Gibt die innere Fensterbreite in Pixel zurück.

getCurrentWebuserID()

Gibt die ID (ANW_ID) des aktuellen Webbenutzers zurück.

getCurrentWebuserName()

Gibt den Namen des aktuellen Webbenutzers zurück

getDBControl(dbname)

Gibt das Element zurück, das der Spalte dbname entspricht oder null

GetDirectUrlForContentOfFieldAsImage(vtabid_or_table, column, objid, url_when_error)

rimacon omniSuite ermöglicht einen direkten Zugriff auf Bilder, die in Spalten vom Typ "Datei" gespeichert sind. Diese Funktion generiert eine entsprechende URL, die z.B. in <img>-src genutzt werden kann.

Parameter:

vtabid_or_table: Tabelle oder Tabellen-ID (z.B. "VTAB_Drucker")

column: Spalte (z.B. VCOL_Bild)

objid: CI-ID

url_when_error: diese URL wird zurückgegeben, wenn ein Fehler auftritt oder kein Bild hochgeladen wurde

Beispiel:

RU.image1.setSrc( RU.MainForm.GetDirectUrlForContentOfFieldAsImage('vtab_drucker','vcol_bild', 12345,'/pics/unknown_pic_16x16.gif') );

getGETParamFromURL(paramname)

Gibt den HTTP-GET-Parameterwert zurück.

Beispiel:

alert( RU.MainForm.getGETParamFromURL("myparam1") );

getParentRU()

Gibt das Parents rimacon._userform-Namespace zurück oder null.

getSessionKey()

Gibt den aktuellen Sessionkey zurück.

getUserformID()

Gibt die ID der aktuellen individuellen Maske zurück.

getUserformTextID()

Gibt die " Zeichenfolge zur Identifikation" der aktueller individuellen Maske zurück.

isAfterApply()

Gibt zurück, ob die Maske initial oder nach der Übernahme geöffnet wird.

isEN()

Gibt zurück, ob die Sprache für die aktuelle Session Englisch ist.

isObjectLocked(table,objectid)

Diese Funktion gibt true zurück, wenn das Objekt von einem anderen Webbenutzer bearbeitet wird, sonst false.

isReadonlyMode()

true bedeutet Detail-Modus

OpenObjectNeighbourhood(table, obj_id, ae_tgrpid)

Diese Funktion öffnet den Explorer in einem neuen Fenster.

Der Parameter ae_tgrpid identifiziert die Analysestruktur (Tabelle TGRP, Spalte TGRP_ID). Wenn eine gültige ae_tgrpid angegeben wird, wird das Exploring automatisch gestartet.

OpenObjectNeighbourhoodForSelectCI(table, obj_id, ae_tgrpid, callback_function)

Diese Funktion öffnet den Explorer in einem neuen Fenster und nach Auswahl eines CIs wird die im callback_function-Parameter definierte Funktion (als Zeichenfolge ohne ()) aufgerufen.

Beispiel:

RU.MainForm.OpenObjectNeighbourhoodForSelectCI("ANW", 1, 17,"rimacon._userform._customer.on_explorer_select_ci");

Funktion on_explorer_select_ci:

Parameter: vtabid,objid

Javascript:

var RU=rimacon._userform, RUC=rimacon._userform._customer;

alert("Ausgewählt: " + vtabid + " | " + objid);

OpenReplaceByForm(ewcmid,obj_id,obj_lcid,replaceby_id, replaceby_lcid)

Öffnet eine "ersetzen durch"-Maske für das Objekt mit der ID=obj_id.

OpenUSERFORMasDetail(userformid,objid,custom_url)

Öffnet eine individuelle Detail-Maske für das Objekt mit der ID=objid. Die Masken-ID (userformid) ermitteln Sie über Direkt-SQL:

select USERFORM_ID, USERFORM_NAME, USERFORM_DESCR from USERFORM

OpenUSERFORMforEdit(userformid,objid,custom_url,refresh_opener)

Öffnet eine individuelle Maske für das Objekt mit der ID=objid.

Mit dem custom_url-Parameter können benutzerspezifische Parameter an die Maske geschickt werden.

Die Masken-ID (userformid) ermitteln Sie über Direkt-SQL:

select USERFORM_ID, USERFORM_NAME, USERFORM_DESCR from USERFORM

Beispiel:

RU.MainForm.OpenUSERFORMforEdit(139,objid,"myparam1=abcd&myparam2=efgh",true)

Parameterwert in der geöffneten Maske auslesen:

var myparam1=RU.MainForm.getGETParamFromURL("myparam1");

sendMessageToOpener(msg)

Schickt eine Message an den Opener. Message kann ein beliebiges JS-Objekt sein. Der Opener bekommt die Message über onMessage-Ereignis.

Hinweis: sendMessageToOpener funktioniert nur für die Masken, die über die WindowOpener-Komponente oder über die individuelle-Maske-Komponente geöffnet wird.

setReturnObject(obj)

Legt den Rückgabewert fest. Dies ist sinnvoll, wenn die Maske über ein WindowOpener-Element geöffnet ist. In der Ausgangsmaske steht der Rückgabewert über RU.<WindowOpener-Element>.getReturnObject() zur Verfügung.

Als Wert kann auch ein einfacher Typ (Zeichenfolge, Nummer,... ) genutzt werden.

StartApply()

Startet asynchrones Speichern, d.h. die Werte werden erst verzögert und nicht unmittelbar nach Abschluss der Funktion gespeichert. Nach dem Speichern wird das Ereignis "JavaScript After Save" aufgerufen. Die Maske wird nicht geschlossen.

StartSave()

Startet asynchrones Speichern, d.h. die Werte werden erst verzögert und nicht unmittelbar nach Abschluss der Funktion gespeichert. Nach dem Speichern wird das Ereignis "JavaScript After Save" aufgerufen und die Maske geschlossen.

StopAfterSaveOrApply()

Diese Funktion kann nur in „MainForm => JavaScript After Save“ genutzt werden. Standardmäßig wird die Maske nach erfolgreichem Speichern oder Übernahme geschlossen bzw. neu geladen. Die Funktion StopAfterSaveOrApply verzögert dieses Vorgehen und es besteht die Möglichkeit, eine Aktion durchzuführen, die einen Webbenutzereingriff erfordert. Typisch ist ein E-Mail-Formular oder eine individuelle Maske. Wenn die Aktion beendet ist, muss ContinueAfterSaveOrApply() aufgerufen werden.

Hinweis: Nach StopAfterSaveOrApply sorgen Sie dafür, dass ein zweites Speichern oder Übernahme nicht möglich ist.

wasButtonApply()

Gibt zurück, ob die individuelle Maske nach Anklicken des Übernahmebuttons angezeigt wurde.

wasButtonSave()

Gibt zurück, ob die individuelle Maske nach Anklicken des Speichern-Buttons angezeigt wurde. Voraussetzung ist, dass das Attribut "Übernehmen anstatt Speichern" gesetzt ist.

wasButtonSaveNew()

Gibt zurück, ob die individuelle Maske nach Anklicken des "Speichern -> neu"-Buttons angezeigt wurde.

Ereignisse

afterFormInit

Anweisungen/Funktionen werden nach der Initialisierung des Hauptfensters ausgeführt

onresize

Anweisungen/Funktionen werden nach der Änderung der Größe des Fenster ausgeführt.

customValidator

Prüfungen, bevor das Formular gespeichert wird. Ergebnis (return) muss entweder false oder true sein. false bedeutet „nicht speichern“, true bedeutet "alles in Ordnung".

Beispiel

var RU=rimacon._userform;

if (RU.txPersonalID.getValue().length<8)

{

      alert("Die Personal-ID ist zu kurz!");

      return false;

};

return true;

JavaScript after Save

Javascript-Anweisungen werden nach dem Speichern ausgeführt. Dies ermöglicht weitere Datenbankänderungen.

Namespace CustomFormVars

Unter diesem Namespace befinden sich alle HTTP-Formular-Variablen als Objekte, die die zwei Methoden getValue() und setValue(value) haben.

Beispiel

var RU=rimacon._userform;

RU.MainForm.CustomFormVars.meine_http_variable.setValue("hallo");

alert( RU.MainForm.CustomFormVars.meine_http_variable.getValue() );

Erweiterte Einstellungen

Berechtigungen cachen

Geben Sie in Sekunden ein, wie lange die einmal erzeugten Berechtigungen gecached werden sollen. D.h., die Berechtigungen müssen nicht neu erzeugt werden.

Dies ist eine reine Performanceoptimierung. Bei komplexeren Infrastrukturen kann es sein, dass das Erzeugen von Berechtigungen (darf der Mitarbeiter diese Maske für Objekt X benutzen) Ressourcen verbraucht. Da sich die Berechtigungen nicht so oft ändern, ist ein Cachen der Berechtigungen sinnvoll.

Bei Speichern eines unveränderten....

siehe auch Punkt 7.3 Life-Cycle

Wenn angekreuzt, entsteht beim Speichern von Life-Cycle-Spalten auch bei unveränderten Werten in der Life-Cycle-Tabelle ein Eintrag.

9.11.4 Elemente

Jedes Element hat zwei allgemeine Eigenschaften:

Name

Der Name wird automatisch vergeben und wird von Javascript genutzt.

Gruppe

Name des Objekt-Containers. Der Top-Container ist das Hauptfenster.

9.11.4.1 Spalten aus der zugeordneter Tabelle

Wie die Spalten dargestellt werden, ist vom Typ der Spalte abhängig. Beipielsweise wird eine Zeichenfolge als <Input> dargestellt, eine mehrzeilige Zeichenfolge als <textarea></textarea> und ein Fremdschlüssel als Auswahlliste <select></select> .

Der Inhalt wird automatisch aus der Datenbak befüllt und beim Speichern automatisch in der Datenbank gespeichert.

Spalten von Tabellen, die mit der Basistabelle eine 1:1-Beziehung haben, können automatisch in der Bearbeitungsmaske der Basismaske bearbeitet werden. Dies gilt für Tabellen, die über einen Fremdschlüssel (1:1) mit der Basistabelle verknüpft sind, aber nicht umgekehrt

Beispiel:

Die Tabelle „Sensible Daten“ (VTAB_SD) und die Tabelle „Mitarbeiter“ (ANW) sind über eine 1:1-Beziehung miteinander verknüpft. D.h., die Anwendertabelle (ANW) hat einen 1:1-Fremdschlüssel VCOL_VTAB_SD_ID auf die Tabelle VTAB_SD.

In einer Bearbeitungsmaske für Mitarbeiter ist es möglich, die Spalten aus der Tabelle „Sensible Daten“ direkt zu bearbeiten. Umgekehrt können jedoch in einer Bearbeitungsmaske für „Sensible Daten“ die Spalten aus der Mitarbeiter-Tabelle nicht bearbeitet werden.

9.11.4.2 Life-Cycle Spalten

Falls für die Tabelle, für die die Maske definiert ist (siehe auch Punkt 9.11.1 Individuelle Maske: Basiseigenschaften) ein Life-Cycle definiert ist, besteht die Möglichkeit, die zusätzlichen Attribute der Life-Cycle Tabelle direkt zu bearbeiten.

9.11.4.3 Beziehungen

Die 0:n/1:n- und n:m-Beziehungen können direkt bearbeitet werden. Fügen Sie einfach aus der Liste die gewünschte Beziehung hinzu, Initiierung und Speichern erfolgen dann automatisch.

Hinweis: Beziehungen sind nur möglich, wenn die Maske für eine konkrete Tabelle definiert ist (siehe auch Punkt 9.11.1 Individuelle Maske: Basiseigenschaften).

9.11.4.3.1 0:n / 1:n-Beziehungen

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintergr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

Locked

Wenn angekreuzt, werden nur die zugeordneten Objekte angezeigt und Änderungen sind nicht möglich.

Listenkonfiguration

siehe auch Punkt 9.11.5.4 Listenkonfiguration

… (andere)

Siehe Maske „Weitere“.

Funktionen

ApplyFilterByIDs(ids)

Parameter ids: zero-based array

Schränkt die Liste auf die in ids-Array definierten Primärschlüssel ein.

Hinweis: Nach dem ersten Aufruf wird der in der Management Console definierte SQL-Filter ungültig, es gelten dann die Primärschlüssel von ids. D.h., entweder gilt der in der Management Console definierte Filter oder es gelten die Primärschlüssel von ids, jedoch nicht beide gleichzeitig.

checkRow(rowid,check)

Kreuzt die entsprechende Zeile an oder ab.

deactivateFilterByIDs

Deaktiviert die Filterung von ApplyFilterByIDs

getAllRowIDs()

Gibt ID der Objekte der Liste als Array zurück.

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

getCheckedRowIDs()

Gibt ID der angekreuzten Objekte der Liste als Array zurück.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getRowCount

Gibt Anzahl der Objekte in der Liste zurück.

isShowed()

siehe auch Punkt 9.11.5 Häufig genutzte Attribute, Funktionen, Ereignisse und Einstellungen

refresh()

Aktualisiert die Liste.

setCustomParam(n, v)

Legt die benutzerdefinierte Variable fest. Siehe Maske „Weitere“.

siehe auch Punkt 9.11.5.8 Parameter

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

afterContentInited

Javascript-Anweisungen/Funktionen werden nach Vervollständigen der Liste ausgeführt.

onRowCheck

Javascript-Anweisungen/Funktionen werden nach ankreuzen/abkreuzen eines Objektes in der Objekt-Liste ausgeführt. Zur Verfügung stehen zwei Kontextvariablen:

objid: enthält ID des Objekts

checkbox: Javascript-checkbox-Objekt.

Beispiel:

if (objid==27 && checkbox.checked) { alert('nicht erlaubt!'); checkbox.checked=false; }

onRowIconClick

Javascript-Anweisungen/Funktionen werden nach Anklicken eines benutzerdefinierten Zeilen-Icons in der Objekt-Liste ausgeführt. Zur Verfügung stehen drei Kontextvariablen:

evnt: JS-Event

iconkey: enthält Schlüssel des Icons

objid: enthält ID des Objekts

Maske „Weitere“

Reiter allgemein

zugeord. Objekte immer anzeigen (unabhängig von dem Filter)

Wenn aktiv, dann wird sichergestellt, dass die schon zugeordneten Objekte nicht herausgefiltert werden.

zugeord. Objekte zuerst anzeigen

Wenn aktiv, werden in der Liste zuerst alle zugeordneten Objekte angezeigt und danach die restlichen Objekte (sinnvoll, wenn viele Objekte zu erwarten sind).

Die Liste bei Initiierung nicht anzeigen

Wenn aktiv, muss die Liste über die Funktion refresh() generiert werden.

bereits anderweitig zugeordnete Objekte nicht anzeigen

Objekte, die einem anderen Objekt zugeordnet sind, werden nicht angezeigt.

Listenmenü benutzen

Listenmenü ermöglicht einige Listenaktionen.

neue Objekte dürfen erstellt werden

Wenn aktiv, besteht die Möglichkeit, neue Objekte direkt aus der Liste erstellen.

Floating table headers benutzen

siehe auch Punkt 9.11.5.7 Floating table headers benutzen

Parameter

siehe auch Punkt 9.11.5.8 Parameter

Reiter SQL-Filter

Ermöglicht, die Liste über SQL einzuschränken.

Reiter Zeilenicons

Icon Details anzeigen

Gibt an, ob die Objekte ein Icon für Details haben sollen.

Icon für Kontextmenü anzeigen

Gibt an, ob die Objekte ein Icon für Kontextmenü haben sollen.

Benutzerdefinierte Zeilenicons

Hier werden zusätzliche Icons für Zeilen konfiguriert. Für jedes Icon wird ein Schlüssel vergeben und bei Anklicken wird im Ereignis onRowIconClick dieses Icon über den Schlüssel identifiziert.

9.11.4.3.2 n:m-Beziehungen

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintergr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

Locked

Wenn angekreuzt, werden nur die zugeordneten Objekte angezeigt und Änderungen sind nicht möglich.

Es ist nur die select-Berechtigung notwendig.

Das Zuordnungselement wird automatisch als "locked" genutzt, wenn der Webbenutzer nur SELECT- und keine SELECT+INSERT+UPDATE+DELETE-Berechtigungen auf die n:m-Tabelle hat.

Listenkonfiguration

siehe auch Punkt 9.11.5.4 Listenkonfiguration

… (andere)

Siehe Maske „Erweiterte Einstellungen“.

Funktionen

ApplyFilterByIDs(ids)

Parameter ids: zero-based array

Schränkt die Liste auf die in ids-Array definierten Primärschlüssel ein.

Hinweis: Nach dem ersten Aufruf wird der in der Management Console definierte SQL-Filter ungültig, es gelten dann die Primärschlüssel von ids. D.h., entweder gilt der in der Management Console definierte Filter oder es gelten die Primärschlüssel von ids, jedoch nicht beide gleichzeitig.

checkRow(rowid,check)

Kreuzt die entsprechende Zeile an oder ab.

deactivateFilterByIDs

Deaktiviert die Filterung von ApplyFilterByIDs

getAllRowIDs()

Gibt ID der Objekte der Liste als Array zurück.

Beispiel:

var RU=rimacon._userform;

var ids=RU.listHWM.getAllRowIDs(), s='', i;

for (i=0; i<ids.length; i++) s+=ids[i] + '\r\n';

alert(s);

getCheckedRowIDs()

Gibt ID der angekreuzten Objekte der Liste als Array zurück.

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getRowCount()

Gibt Anzahl der Objekte in der Liste zurück.

isListShowed()

Gibt zurück, ob die Liste schon generiert wurde.

refresh()

Aktualisiert die Liste.

setCustomParam(n, v)

Legt die benutzerdefinierte Variable fest. Siehe Maske „Erweiterte Einstellungen“.

siehe auch Punkt 9.11.5.8 Parameter

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onRowCheck

Javascript-Anweisungen/Funktionen werden nach Ankreuzen/Abkreuzen eines Objektes in der Objekt-Liste ausgeführt. Zur Verfügung stehen zwei Kontextvariablen:

objid: enthält ID des Objekts

checkbox: Javascript-checkbox-Objekt.

Beispiel:

if (objid==27 && checkbox.checked) { alert('nicht erlaubt!'); checkbox.checked=false; }

onRowIconClick

Javascript-Anweisungen/Funktionen werden nach Anklicken eines benutzerdefinierten Zeilen-Icons in der Objekt-Liste ausgeführt. Zur Verfügung stehen drei Kontextvariablen:

evnt: JS-Event

iconkey: enthält Schlüssel des Icons

objid: enthält ID des Objekts

afterContentInited

Javascript-Anweisungen/Funktionen werden nach vervollständigen der Liste ausgeführt.

Funktionen für Textfelder-n:m-Attribute

Zugriff auf die die Attribute über rimacon._userform.<elementname>.<nm-attribut>(index).

getDOMObject(index)

Gibt das Javascript-DOM-Objekt zurück.

getValue(index)

Gibt den Inhalt der Textbox zurück.

setValue(index)

Legt den Inhalt der Textbox fest.

Funktionen für Auswahlliste-n:m-Attribute

Zugriff auf die die Attribute über rimacon._userform.<elementname>.<nm-attrbut>(index).

addOption(row_index,value,text)

Fügt eine neue Option hinzu.

removeAllOptions(row_index)

Löscht alle Optionen.

getDOMObject(row_index)

Gibt das Javascript-DOM-Objekt zurück.

getValue(row_index)

Wert der ausgewählten Option.

setValue(row_index)

Zeigt die Option mit dem angegebenen Wert.

Maske Erweiterte Einstellungen

Reiter allgemein

zugeord. Objekte immer anzeigen (unabhängig von dem Filter)

Wenn aktiv, wird sichergestellt, dass die schon zugeordneten Objekte nicht rausgefiltert werden.

zugeord. Objekte zuerst anzeigen

Wenn aktiv, werden in der Liste zuerst alle zugeordneten Objekte angezeigt und danach die restlichen Objekte (sinnvoll, wenn viele Objekte erwartet werden).

n:m-Attribute immer anzeigen

Gibt an, ob die zusätzlichen n:m-Attribute angezeigt werden.

Die Liste bei Initiierung nicht anzeigen

Wenn aktiv, muss die Liste über Funktion refresh() generiert werden.

Listenmenü benutzen

Listenmenü ermöglicht einige Listenaktionen.

neue Objekte dürfen erstellt werden

Wenn aktiv, besteht die Möglichkeit, neue Objekte direkt aus der Liste zu erstellen.

Floating table headers benutzen

siehe auch Punkt 9.11.5.7 Floating table headers benutzen

Parameter

siehe auch Punkt 9.11.5.8 Parameter

Reiter SQL-Filter

Ermöglicht, die Liste über SQL einzuschränken.

Reiter Zeilenicons

Icon Details anzeigen

Gibt an, ob die Objekte ein Icon für Details haben sollen.

Icon für Kontextmenü anzeigen

Gibt an, ob die Objekte ein Icon für Kontextmenü haben sollen.

Benutzerdefinierte Zeilenicons

Hier werden zusätzliche Icons für Zeilen konfiguriert. Für jedes Icon wird ein Schlüssel vergeben und bei Anklicken wird im Ereignis onRowIconClick diese Icon über den Schlüssel identifiziert.

Reiter Eigene Sortierung

Wenn die Checkbox „Eigene Sortierung“ angekreuzt ist, definieren Sie über SQL die gewünschte Sortierung.

Dies ist besonders sinnvoll, wenn die Sortierung über die Listenkonfiguration nicht ausreichend ist oder wenn die Sortierung von dem gerade bearbeiteten Objekt (ID = $_ObjID) anhängig ist.

Reiter Eigene Spaltenkonfiguration

Hier können die Spalten benutzerdefiniert konfiguriert werden.

Wenn die Option “eigene Spaltenkonfiguration“ nicht aktiv ist, werden die Spalten und ihre Reihenfolge automatisch generiert:

1. Spalte mit Checkboxen

2. Spalte mit Icons

3. Spalten aus der Listenkonfiguration

4. n:m-Attribute / eine Spalte pro Attribut

Wenn die Option “eigene Spaltenkonfiguration“ aktiv ist, werden die Spalten und ihre Reihenfolge manuell konfiguriert.

Es stehen folgende Spalten zur Auswahl:

1. Spalte „Checkbox“

2. Spalte Icons

3. m-Tabellenspalte: Spalten aus der Listenkonfiguration

4. n:m-Attribut

5. benutzerdefinierte Spalte

Dies ermöglicht z.B.

- nur die im Kontext wichtigen und nicht alle n:m-Attribute bei der Zuordnung zu bearbeiten

- weniger wichtige m-Tabellenspalten mehr nach rechts zu positionieren und wichtige n:m-Attribute mehr nach links zu positionieren.

- in den benutzerdefinierten Spalten den Inhalt dynamisch über ein SQL-Script zu definieren

Benutzerdefinierte Spalte konfigurieren

Überschrift

Text, der in der Kopfzeile erscheint.

HTML-Direkt

Wenn aktiv, werden die Zeichen <,>," und & nicht in &lt;, &gt;, &quot; und &amp; umgewandelt.

Ausrichtung

Ausrichtung in der Zelle.

SQL

Über dieses SQL-Script wird der Inhalt für die Spalte generiert. Das Ergebnis muss ein Recordset sein, wobei die erste Spalte die Primärschlüssel-ID der zugeordneten M-Tabelle enthält und die zweite Spalte den angezeigten Inhalt enthält.

Beispiel: Bei Zuordnung von Mitarbeitern (Tabelle ANW) den Mitarbeiternamen und Vornamen in einer Spalte anzeigen:

select ANW_ID, ANW_Name2 + ' ' + ANW_Name1 from ANW

Standardwert

Standardwert wird genutzt, wenn das SQL-Script für das zugeordnete Objekt (M-Tabelle) keinen Inhalt zurückgibt.

Mehrere Werte trennen durch

Wenn das SQL-Script mehrere Werte für eine Primärschlüssel-ID zurückgibt, werden die Werte verkettet und mit dieser Zeichenfolge getrennt.

Beispiel: Bei Zuordnung von Mitarbeitern (Tabelle ANW) werden alle Mitarbeiterrollen (Tabellen ROL und ANWROL) untereinander angezeigt und für Mitarbeiter ohne Rollen wird in roter Schriftfarbe „(keine)“ angezeigt:

HTML-Direkt:      [x]

Ausrichtung:      left

SQL

select ANWROL_ANW_ID, dbo.fnc_htmlspecialchars(ROL_NAME) from ANWROL

inner join ROL on ROL_ID=ANWROL_ROL_ID

Standardwert      <span style='color:red'>(keine)</span>

Mehrere Werte trennen durch: <br>

Ergebnis:

Vollname

Rollen

**************

(keine)

**************

Programmierer

Projektleiter

Admin

**************

(keine)

**************

Change-Manager

**************

(keine)

**************

(keine)

**************

Admin

Datenbank-Administrator

9.11.4.4 Tabelle / Sicht

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintegr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

Listenkonfiguration:

siehe auch Punkt 9.11.5.4 Listenkonfiguration

andere

Siehe Maske Erweiterte Einstellungen“.

Funktionen

ApplyFilterByIDs(ids)

Parameter ids: zero-based array

Schränkt die Liste auf die in ids-Array definierten Primärschlüssel ein.

Hinweis: Nach dem ersten Aufruf wird der in der Management Console definierte SQL-Filter ungültig, es gelten dann die Primärschlüssel von ids. D.h., entweder gilt der in der Management Console definierte Filter oder es gelten die Primärschlüssel von ids, jedoch nicht beide gleichzeitig.

clearContent()

Löscht den Content-Bereich.

deactivateFilterByIDs()

Deaktiviert die Filterung von ApplyFilterByIDs

deactivateQuickFilter()

Deaktiviert die aktuellen Schnelleinstellungen.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

GetTextFilter()

Gibt den Schnellfilter zurück.

invokeExportToCSV(delimiter)

Parameter delimiter: Wenn keine Eingabe, wird ";" genutzt

invokeExportToXLSX()

Exportiert die Liste in eine XLSX-Datei.

invokeGroupByConfig()

Pop-Up der Gruppierungsmaske.

invokePrint()

Öffnet die Liste in neuem Fenster im Druckformat.

invokeQuickFilter()

Pop-Up des Schnellfilters

invokeQuickFilter(columns)

Pop-Up des Schnellfilters, wobei nur die Spalten aus dem Parameter columns angezeigt werden.

invokeReportDesigner

Pop-Up der Maske für die Listenkonfiguration

isListShowed()

Gibt zurück, ob die Liste schon generiert wurde.

refresh()

Aktualisiert die Liste.

setCustomParam(n, v)

Legt die benutzerdefinierte Variable fest. Siehe Maske „Erweiterte Einstellungen“.

siehe auch Punkt 9.11.5.8 Parameter

SetTextFilter(tx)

Legt einen Schnellfilter fest. Der Filter bezieht sich nur auf die sichtbaren Spalten.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

afterContentLoaded

JavaScript-Anweisungen/Funktionen werden nach vollständigem Laden des Inhalts ausgeführt.

onRowIconClick

Javascript-Anweisungen/Funktionen werden nach Anklicken eines benutzerdefinierten Zeilen-Icons in der Objekt-Liste ausgeführt. Zur Verfügung stehen drei Kontextvariablen:

evnt

JS-Event

iconkey

enthält Schlüssel des Icons

objid

enthält ID des Objekts

Maske Erweiterte Einstellungen

Reiter allgemein

Die Liste bei Initiierung nicht anzeigen

Wenn aktiv, muss die Liste über die Funktion refresh() generiert werden.

Kontextmenü in Zeile verbieten

Wenn aktiviert, wird das Kontextmenü für Zellen verboten

Button „Drucken“ anzeigen

Die Liste direkt drucken.

Button „Export als CSV“ anzeigen

Die Liste als CSV generieren.

Floating table headers benutzen

siehe auch Punkt 9.11.5.7 Floating table headers benutzen

Parameter

siehe auch Punkt 9.11.5.8 Parameter

Reiter SQL-Filter

Ermöglicht, die Liste über SQL einzuschränken.

Reiter Zeilenicons

Icon Details anzeigen

Gibt an, ob die Objekte ein Icon für Details haben sollen.

Icon für Kontextmenü anzeigen

Gibt an, ob die Objekte ein Icon für Kontextmenü haben sollen.

Benutzerdefinierte Zeilenicons

Hier werden zusätzliche Icons für Zeilen konfiguriert. Für jedes Icon wird ein Schlüssel vergeben und bei Anklicken wird im Ereignis onRowIconClick diese Icon über den Schlüssel identifiziert.

9.11.4.5 Benutzerdefinierte Sicht

Im Gegensatz zu Sichten wird eine benutzerdefinierte Sicht über SQL oder C# definiert. Dies ist zwar weniger bequem, aber wesentlich schneller als die Standard-Sichten.

Hinweis: Die Sicht wird erst nach Aufruf der Funktion reloadData(…) dargestellt.

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Gitter

Auswahl: Gitter anzeigen oder nicht anzeigen.

Hintegr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

andere

Siehe Maske „andere Eigenschaften“

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Funktionen

clearContent

Löscht den Content-Bereich.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getDOMObject()

Gibt das DOM-Iframe-Element zurück.

reloadData([parameter])

Aktualisiert die Sicht. Die Parameter werden unterParameter (durch Komma getrennt) definiert.

Die Aktualisierung läuft asynchron und nach vollständigem Einladen wird Ereignis afterContentLoaded generiert.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onRowIconClick

Javascript-Anweisungen/Funktionen werden nach Anklicken eines benutzerdefinierten Zeilen-Icons in der Objekt-Liste ausgeführt. Zur Verfügung stehen drei Kontextvariablen:

evnt

JS-Event

iconkey

enthält Schlüssel des Icons

objid

enthält ID des Objekts

afterContentLoaded

JavaScript-Anweisungen/Funktionen werden nach vollständigem Laden des Inhalts ausgeführt.

Maske „andere Eigenschaften“

Reiter "Quelle"

Parameter (durch Komma getrennt)

Hier werden Parameternamen definiert, die in SQL mit Dollarzeichenpräfix oder in C# über Kontextobjekt direkt genutzt werden können.

SQL Quelle

Definiert die Quelle für die Sicht (welche Spalten und in welche Reihenfolge wird unter Reiter „Spalten“ definiert).

Beispiel:

[Parameter]

anrede,extern

[SQL]

select * from ANW where ANW_Anrede='$anrede' and ANW_Extern='$extern'

Die Dollarvariablen werden durch die konkreten Werte aus der Funktion reloadData(…) ersetzt, wobei ein Apostroph (') durch ein Anführungszeichen (“) ersetzt wird.

Hinweis: Um SQL-Injection zu verhindern, benutzen Sie die Dollarvariablen immer innerhalb der Apostrophen.

C# Quelle

In diesem C#-Script wird der Inhalt über vordefinierte Objekte generiert.

Hinweis: Die Spalten aus dem Reiter „Spalten“ gelten auch für C#. Allerdings ist es möglich, neue Spalten ad hoc in C# hinzufügen. Dadurch können Spalten flexibel generiert werden. In SQL-Script ist dies nicht möglich.

Kontextobjekte:

Name

Typ

Beschreibung

db

rimacon.cmdb.scripting.IDBConnection

siehe auch Punkt 17.1.16 rimacon.cmdb.scripting.IDBConnection

ctx

rimacon.cmdb.scripting.UFCTRLCustomReport.Context

Über dieses Objekt wird der Inhalt generiert.

siehe auch Punkt 17.1.18 rimacon.cmdb.scripting.UFCTRLCustomReport.Context

Reiter Spalten

Hier wird definiert, welche Spalten aus dem SQL werden angezeigt. Wenn die Option „Direkt-HTML“ aktiv ist, werden die Werte direkt ohne Umwandlung an Browser geschickt. Dies ermöglicht z.B. Bilder oder Verweisse (URL-Links) auf andere Systeme darstellen

Reiter „anpassen an rimacon-System“

Wenn die Ergebnisse aus dem SQL mit einer bestehenden Tabelle korrespondieren, wählen Sie welche Spalte dem Primärschlüssel entspricht und automatisch erscheint in jeder Zeile ein Icon für Kontextmenü.

Reiter Weitere Eigenschaften

Floating table headers benutzen

siehe auch Punkt 9.11.5.7 Floating table headers benutzen

9.11.4.6 DataGridView

Hinweis: die DataGridViews werden asynchron generiert.

Attribute

HTML-Style

siehe auch Punkt 9.11.5.6 HTML-Style

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintegr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

andere

Siehe DataGridView konfigurieren

Funktionen

checkRows()

Alle Zeilen werden angekreuzt.

checkRows(ids)

Die Zeilen werden entsprechend der angegebenen ID-Arrays angekreuzt.

getAllRowIDs()

Gibt die Ids allen Zeilen als 1D-Array zurück.

getCheckedRows()

Gibt die IDs der angekreuzten Zeilen als 1D-Array zurück.

getDOMObject

Gibt das Javascript-DOM-Objekt zurück.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getNeededHeight(), getNeededSize(), getNeededWidth()

Gibt zurück, wie viel Platz der Inhalt benötigt.

invokePrint()

Öffnet die Liste in neuem Fenster im druckfähigen Format.

invokeReportDesigner

Pop-Up der Listenkonfigurationsmaske.

invokeQuickFilter()

Pop-Up des Schnellfilters.

invokeQuickFilter(columns)

Pop-Up des Schnellfilters, wobei nur die Spalten aus dem Parameter columns angezeigt werden.

Beispiel:

RU.DataGridView1.invokeQuickFilter('ANW_Name1;ANW_Name2;ANW_Anrede');

refresh()

Aktualisiert die Liste.

setCustomParam(n, v)

Legt die benutzerdefinierte Variable fest. Siehe Maske „Erweiterte Einstellungen“.

siehe auch Punkt 9.11.5.8 Parameter

SetTextFilter(tx)

Legt einen Schnellfilter fest. Der Filter bezieht sich nur auf die sichtbaren Spalten.

showCheckedRowsFirst()

Ändert die Zeilenreihenfolge so, dass die angekreuzten Zeilen zuerst kommen.

showRowCheckbox(bShow)

Zeigt oder versteckt die Checkbox (in allen Zeilen).

uncheckRows()

Alle Zeilen werden abgekreuzt.

uncheckRows(objid)

Zeile, die der angegebenen objid entspricht, wird abgekreuzt.

uncheckRows(array)       

Die Zeilen werden entsprechend der angegebenen ID-Arrays abgekreuzt.

Ereignisse

onCheckboxChecked

Javascript-Anweisungen/Funktionen werden nach ankreuzen/abkreuzen einer Checkbox ausgeführt.

Im Gegensatz zu onRowChecked gilt dieses Ereignis für alle Checkboxen (siehe auch Punkt 17 Server Side Programming), nicht nur für die Checkbox in der ersten Spalte.

Reihenfolge: es wird zuerst onCheckboxChecked ausgeführt und danach onRowChecked.

Es stehen folgende Kontextvariablen zur Verfügung:

event

JS-Event

Checkbox

Checkbox als DOM-Object

Key

Checkbox-Schlüssel

RowIndex

Zeilenindex

RowID

Zeilen-ID/Objekt-ID

ColumnIndex

Spaltenindex

ColumnKey

Spaltenschlüssel

onRowChecked

Javascript-Anweisungen/Funktionen werden nach ankreuzen/abkreuzen einer Checkbox in der ersten Spalte ausgeführt. Im Gegensatz zu onCheckboxChecked gilt dieses Ereignis nicht für die Checkboxen in anderen Spalten

Es stehen zwei Kontextvariablen zur Verfügung:

objid

enthält ID des Objekts

checked

true oder false

onIconClick

Javascript-Anweisungen/Funktionen werden nach Anklicken eines benutzerdefinierten Icons ausgeführt.

Im Gegensatz zu onRowIconClick gilt dieses Ereignis für alle Icons, nicht nur für die in der ersten Spalte.

Reihenfolge: es wird zuerst onIconClick ausgeführt und danach onRowIconClick..

Es stehen folgende Kontextvariablen zur Verfügung:

event

JS-Event

Icon

Icon (HTML <img>) als DOM-Object

Key

Schlüssel des Icons

RowIndex

Zeilenindex

RowID

Zeilen-ID/Objekt-ID

ColumnIndex

Spaltenindex

ColumnKey

Spaltenschlüssel

onRowIconClick

Javascript-Anweisungen/Funktionen werden nach Anklicken eines benutzerdefinierten Zeilen-Icons in der ersten Spalte ausgeführt.

Im Gegensatz zu onIconClick gilt dieses Ereignis nicht für die Icons in anderen Spalten.

Es stehen drei Kontextvariablen zur Verfügung:

evnt

JS-Event

iconkey

enthält den Schlüssel des Icons

objid

enthält ID des Objekts

onTextClick

Ereignis nach Anklicken eines Textelements. Der Textelement muss das Attribut IsClickable true haben.

afterContentInited

Javascript-Anweisungen/Funktionen werden nach Vervollständigen der Liste ausgeführt.

DataGridView konfigurieren

Reiter Quelle

Hier wird die Quelle definiert:

Quelle = Tabelle

Der Basisinhalt ist eine Tabelle. Über Listenkonfigurationen können weitere Tabellen angebunden werden. Filtern ist ebenso möglich, als Parameter können eigene Parameter genutzt werden (siehe Reiter „Weitere Eigenschaften“)

Quelle = Server SQL

Der Inhalt wird über ein Server-SQL-API generiert (Rückgabewert muss rimacon.cmdb.scripting.IDBResultset sein). Die Server-SQL-API wird im Hintergrund nach Bedarf aufgerufen. Falls sie ein oder mehrere Parameter hat, setzen Sie die Werte (vorab) über SSP-Method <DatagridviewElement>.SetSourceParam(parameterName, parameterValue).

Die Spalten und Spaltenreihenfolge (aus der Server-SQL-API) werden manuell konfiguriert.

Anpassen an CMDB-Table

Falls die Zeilen aus der Server-SQL-API einer Tabelle entsprechen, wählen Sie die Tabelle und Spalte aus, die dem Primärschlüssel entspricht.

Wenn genutzt:

- ist es möglich, optional einige Standardicons anzeigen

- bei benutzerdefinierten Icons sind mehrere Szenarien möglich

Hinweis: wenn die Zeilen-ID-Spalte definiert, wird sie genutzt, auch wenn keine Tabelle ausgewählt

Quelle = keine

Der Inhalt muss über SSP „manuell“ erstellt/gepflegt werden.

Reiter „Weitere Eigenschaften“

Button „Drucken“ anzeigen

Ermöglicht ein direkter Druck.

Checkbox pro Zeile

Legt fest, ob jede Zeile ein Checkbox haben soll.

Die angekreuzten Checkboxen nach dem Refresh autom. ankreuzen

Wenn aktiv, werden nach wiederholtem (nicht erstem) Refresh die vorher angekreuzten Checkboxen automatisch wieder angekreuzt.

Die Liste bei Initiierung nicht anzeigen

Wenn aktiv, muss die Liste über Funktion refresh() generiert werden.

Icon Details anzeigen

Gibt an, ob die Objekte ein Icon für Details haben sollen.

Icon für Kontextmenü anzeigen

Gibt an, ob die Objekte ein Icon für Kontextmenü haben sollen.

Benutzerdefinierte Zeilenicons

Hier können zusätzliche Icons für Zeilen definiert werden. Jedes Icon wird über einen Schlüssel identifiziert und nach dem Anklicken wird das Ereignis onRowIconClick generiert und der Schlüssel über die Kontextvariable iconkey mitgeschickt. So kann bei mehreren Icons das konkrete Icon identifiziert werden.

Floating table headers benutzen

siehe auch Punkt 9.11.5.7 Floating table headers benutzen

Parameter

siehe auch Punkt 9.11.5.8 Parameter

Reiter „Layout Eigenschaften“

Hier werden einige optische Eigenschaften konfiguriert.

9.11.4.7 Standard Buttons

Standard Buttons sind:

Übernehmen

Speichern

Speichern und neu öffnen

Abbrechen

Details

Löschen

Attribute

links, oben

Position. Die Breite und Höhe sind fest vorgegeben.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Funktionen

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setLeft(), setPosition(left,top), setTop(top)

siehe auch Punkt 9.11.5.1 Position und Größe

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onPress

Ereignis bei Anklicken des Buttons (vor der entsprechenden Aktion): wenn das Script false zurückgibt, wird die entsprechende Aktion nicht durchgeführt.

9.11.4.8 Benutzerdefinierte Buttons

Attribute

Text (DE), Text (EN)

Buttonüberschrift für deutsche und englische Endwebbenutzer.

Alternativer Text (DE), Alternativer Text (EN)

Alternativer Text (wenn der Mauszeiger kurz auf dem Button bleibt) für deutsche und englische Endwebbenutzer.

links, oben

Die Höhe ist fest vorgegeben. Nur die Position und die Breite sind frei.

Breite

Breite des Buttons.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Funktionen

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setLeft(left), setPosition(left,top), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

onPress(handler)

Ermöglicht setzen des onPress-Ereignisses aus JS-Code. Das in GUI definiertes JS-Code und Server Side Programming bleiben bestehen und werden wie folgt ausgeführt:

1. Handler aus dieser Funktion

2. in GUI definiertes JS-Code

3. Server Side Programming Code

Parameter "handler" ist vom Typ "function(ctx)", wobei der Parameter ctx zwei Attribute hat:

- event: DOM-MouseEvent

- CancelServerCode: Setzen das Attribut auf true verhindert Aufruf vom Server Side Programming Code

Beispiel:

RU.Button1.onPress( function(ctx) {

      console.log("onPress-adhoc", ctx);

      if (...) ctx.CancelServerCode = true;

});

setText(text)

Legt den Text des Buttons fest.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onPress

Ereignis bei Anklicken des Buttons.

9.11.4.9 Text (Label)

Attribute

Ausrichtung

Nutzung dieses Attributes ist nur sinnvoll, wenn das Attribut AutoSize nicht angekreuzt ist.

AutoSize

Wenn angekreuzt, passt sich die Größe automatisch an den Text an.

links, oben, Breite, Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

HTML-Style

siehe auch Punkt 9.11.5.6 HTML-Style

Text

Angezeigter Text.

cursor

CSS-Style cursor-Eigenschaft.

Fontname, Fontgröße, Fett, Unterstrichen, Kursiv

Schrift.

Farbe

Schrifftfarbe.

Hintergrundfarbe

Standardmäßig ist der Hintergrund transparent.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.Label1.getDOMObject().style.border="3px solid red";

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(),setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

setBGColor(clr)

Legt die Hintergrundfarbe fest. Parameter clr ist im HTML-Format, z.B. "red", "#30cdf8", etc.

setBold(bold)

Legt fest, ob der Text fett oder normal ist.

setColor(clr)

Legt farbe des Texts fest.

setItalic(italic)

Legt fest, ob der Text kursiv oder normal ist.

setText(new_text)

Legt den angezeigten Text fest.

setUnderline(underline)

Legt fest, ob der Text unterstrichen ist.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onclick

Legt fest, was beim Anklicken passiert.

9.11.4.10 Textbox

Frei nutzbarer Bereich, um z.B. für Suchanfragen bzw. Filter für das Auffinden von konkreten Objekten zu definieren (Javascript).

Attribute

links, oben, Breite

Position und Breite. Die Höhe ist fest vorgegeben.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Enabled

Legt fest, ob das Objekt gesperrt oder nicht gesperrt ist.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Kalender

Legt fest, ob rechts des Textfeldes ein Kalendericon erscheint, um die Eingabe des Datums zu vereinfachen.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.TextBox1.getDOMObject().style.border="3px solid red";

getEnabled()

Gibt zurück, ob das Objekt gesperrt oder nicht gesperrt ist.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setLeft(left), setPosition(left,top), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getValue()

Gibt den Inhalt der Textbox zurück.

setAutocompleteList(list)

Die Parameterliste ist 1D 0-basiertes Array und enthält die möglichen Werte für die Autovervollständigung.

setBorder(style)

Beispiel:

RU.VCOL_Name.serBorder('2px solid red');

setBorderColor(color)

Legt die Farbe des Rahmens fest.

setColor(color)

Legt die Farbe des Textes fest.

setEnabled(bEnabled)

Sperrt oder entsperrt das Objekt

setValue(new_value)

Legt den Inhalt der Textbox fest

show(bShow)

Zeigt oder versteckt das Objekt

Ereignisse

onblur, onchange, onclick, onkeydown, onkeyup, onmouseover, onmousemove, onmouseout, onfocus

siehe auch Punkt 9.11.5.5 Ereignisse

9.11.4.11 HTML-Elemente

Die folgenden zwei reinen HTML-Elemente können genutzt werden:

9.11.4.11.1 DIV

Attribute

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

HTML-Style

{lkap 9.11.5.6}

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach der Initiierung der Maske angezeigt wird.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.div1.getDOMObject().style.border="3px solid red";

setInnerHTML(html)

Legt den DIV-Inhalt fest.

Beispiel:

RU.div1.setInnerHTML("<input type=radio>");

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onclick, onmouseover, onmousemove, onmouseout

siehe auch Punkt 9.11.5.5 Ereignisse

9.11.4.11.2 IFRAME

Attribute

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach der Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintegr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.iframe1.getDOMObject().style.border="3px solid red";

getSrc()

Gibt das IFRAME-src-Attribut zurück.

setSrc()

Legt das IFRAME-src-Attribut fest.

setSrcForRimaconDashboard(dashboardid)

Im IFRAME wird ein konkretes Dashboard dargestellt. Wenn der Parameter dashboardid gleich 0 ist, wird eine Liste aller Dashboards dargestellt.

setSrcForRimaconOptions()

Im IFRAME wird als Standard die rimacon-Einstellungen-Seite angezeigt.

setSrcForRimaconReportFormats()

Im IFRAME wird als Standard die rimacon- ReportManager-Seite angezeigt.

setSrcForRimaconReports()

Im IFRAME wird als Standard die rimacon- Reports-Seite angezeigt.

setSrcForRimaconUserViews()

Im IFRAME wird als Standard die Liste gespeicherter Sichten angezeigt.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

(keine)

9.11.4.12 Checkbox

Attribute

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach der Initiierung der Maske angezeigt wird.

Enabled

Legt fest, ob das Objekt gesperrt oder nicht gesperrt ist.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Element-Label-Ausrichtung

Legt fest, wie Checkbox und Label zueinander positioniert werden.

Text

Text für Label.

Fontname, Fontgröße, Fett, Unterstrichen, Kursiv

Schrift

Farbe

Textfarbe

Farbe für „disabled“

Textfarbe, wenn das Element gesperrt ist.

Funktionen

getChecked()

Gibt zurück, ob die Checkbox aktiviert ist oder nicht.

getDOMObject(control)

Gibt das Javascript-DOM-Objekt zurück. Mögliche Werte für control:

control

Zurückgegebenes Objekt

<nicht definiert> oder "container"

HTML-Container, der sowohl die Checkbox als auch das Label erfasst.

"control"

Das HTML-<input> Element

"label"

Das HTML-<label> Element

getValue()

Gibt zurück, ob die Checkbox aktiviert ist oder nicht.

setChecked(checked)

Legt fest, ob die Checkbox aktiviert ist oder nicht.

setValue(checked)

Legt fest, ob die Checkbox aktiviert ist oder nicht.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onblur, onclick, onkeydown, onkeyup, onmouseover, onmousemove, onmouseout, onfocus

siehe auch Punkt 9.11.5.5 Ereignisse

9.11.4.13 Radiobutton

Attribute

Gruppenname

Definiert, zu welcher Radiobutton-Gruppe der Radiobutton gehört. Innerhalb einer Radiobutton-Gruppe kann nur ein Radiobutton angekreuzt sein.

Wert ist eine einfache Zeichenfolge, die keine weiteren Beziehungen hat. Wenn Sie nur eine Gruppe brauchen, lassen Sie sie leer.

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Enabled

Legt fest, ob das Objekt gesperrt oder nicht gesperrt ist.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Element-Label-Ausrichtung

Legt fest, wie Radiobutton und Label zueinander positioniert werden.

Text

Text für Label.

Fontname, Fontgröße, Fett, Unterstrichen, Kursiv

Schrift.

Farbe

Textfarbe.

Farbe für „disabled“

Textfarbe, wenn das Element gesperrt ist.

Funktionen

getChecked()

Gibt zurück, ob der Radiobutton aktiviert ist oder nicht.

getDOMObject(control)

Gibt das Javascript-DOM-Objekt zurück. Mögliche Werte für control:

control

Zurückgegebenes Objekt

<nicht definiert> oder "container"

HTML-Container, der sowohl das Radiobutton als auch das Label erfasst.

"control"

Das HTML-<input> Element

"label"

Das HTML-<label> Element

getValue()

Gibt zurück, ob das der Radiobutton aktiviert ist oder nicht.

setChecked(checked)

Legt fest, ob das der Radiobutton aktiviert ist oder nicht.

setValue(checked)

Legt fest, ob der Radiobutton aktiviert ist oder nicht.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onblur, onclick, onkeydown, onkeyup, onmouseover, onmousemove, onmouseout, onfocus

siehe auch Punkt 9.11.5.5 Ereignisse

9.11.4.14 MFK-Auswahlliste

Attribute

links, oben

Position.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Enabled

Legt fest, ob das Objekt gesperrt oder nicht gesperrt ist.

Schnellfilter

Legt fest, ob die Icon für Schnellfilter erscheint.

AutoUpdateObjectList

Legt fest, ob nach Änderung in der Tabellenliste die Objektauswahlliste automatisch aktualisiert wird.

andere

Hier werden die Tabelle für die Tabellenliste ausgewählt.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Funktionen

addObjectsFromSQLApi(rs,field_key,field_text)

Erstellt die Objektauswahlliste aus dem Ergebnis einer SQL-API.

Beispiel:

[SQL-API]

Name: get_all_dom

Parameter:

Rückgabewert: 2D-Array

SQL: select DOM_ID, DOM_NAME from DOM order by DOM_NAME

[Javascript]

var RU=rimacon._userform;

RU.VCOL_7270.addObjectsFromSQLApi(

RU._sqlapi.get_all_dom(),

'DOM_ID',

'DOM_NAME'

);

addTableByID(id)

Beispiel:

RU.cbZust.addTableByID(123);

addTableByIDWithoutRefresh(id)

Beispiel:

RU.cbZust.addTableByIDWithoutRefresh(123);

addTableByName(vtabdbname)

Beispiel:

RU.cbZust.addTableByName('VTAB_HUB');

addTableByNameWithoutRefresh(vtabdbname)

Beispiel:

RU.cbZust.addTableByNameWithoutRefresh('VTAB_HUB');

getDOMObject()

Beschreibung

Gibt das Javascript-DOM-Objekt zurück. Mögliche Werte für control:

Control

Zurückgegebenes Objekt

<nicht definiert> oder "container"

HTML-Container, der beide Auswahlliste erfasst

"table"

Die Tabellenliste (erste) als HTML-Select Element

"object"

Die Objektauswahlliste (zweite) als HTML-Select Element

getEnabled()

Gibt zurück, ob das Objekt gesperrt oder nicht gesperrt ist.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setLeft(left), setPosition(left,top), setTop(top)

siehe auch Punkt 9.11.5.1 Position und Größe

getSelectedObjectID()

Gibt die ID des aktuell ausgewählten Objektes zurück.

getSelectedTableID()

Gibt die ID der aktuell ausgewählten Tabelle zurück.

getSelectedTableName()

Gibt den Namen der aktuell ausgewählten Tabelle zurück. Beispiel: 'ANW','DOM', ...

getValue()

Gibt eine Zeichenfolge zurück im Format "vtabid,objectid"

invokeQuickFind()

Ruft den Schnellfilter auf.

removeAllObjects()

Löscht die Objektauswahlliste.

removeAllTables()

Löscht alle Optionen der Tabellenliste.

removeTableByID(vtabid)

Beispiel:

RU.cbZust.removeTableByID(123);

removeTableByIndex(index)

Beispiel:

RU.cbZust.removeTableByIndex(2);

removeTableByName(vtabdbname)

Beispiel:

RU.cbZust.removeTableByName('VTAB_HUB');

setEnabled(bEnabled)

Sperrt oder entsperrt das Objekt

setTables(vtabids)

Parameter vtabids: zero-based array

Beispiel:

RU.cbZust.setTables([58,15,24]);

setTablesWithoutRefresh(vtabids)

Parameter vtabids: zero-based array

Beispiel:

RU.cbZust.setTablesWithoutRefresh([58,15,24]);

setValue(value)

value: Zeichenfolge im Format "vtabid,objectid"

setValueRefreshSettedObject(value)

value: Zeichenfolge im Format "vtabid,objectid"

Wählt die Tabelle aus der Tabellenliste aus und füllt die Objektauswahlliste mit dem einzigen Objekt objectid. Diese Funktion ist sinnvoll, wenn größere Datenmengen (> 5000 Objekte) zu erwarten sind.

setValueWithoutRefresh(value)

value: Zeichenfolge im Format "vtabid,objectid"

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

OnTableChange

Für Änderung der ausgewählten Tabelle.

9.11.4.15 Frame

Sog. Rahmen-Container für die Darstellung von ausgewählten Objekten in einem definierten Rahmen.

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintegr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

HTML-Style

siehe auch Punkt 9.11.5.6 HTML-Style

Initiieren modal

Wenn aktiv, wird der Rahmen-Container gleich bei Initiierung der Maske modal angezeigt.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.frame1.getDOMObject().style.border = "3px solid red";

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

show(bShow)

Zeigt oder versteckt das Objekt.

showModal()

Zeigt den Rahmen-Container modal, d.h. der Rest der Maske wird gesperrt.

hideModal()

Schließt den über showModal geöffneten Rahmen-Container.

Ereignisse

(keine)

9.11.4.16 TabControl

Um ein Fenster (Container) im Formular in mehrere logische Abschnitte oder Seiten zu unterteilen.

Beim Anklicken einer Registerlasche wechselt auch automatisch der Inhalt (Tabellen-Spalten, Beziehungen

etc.). Im ausgewählten Container (durch Klick auf den Container) lassen sich beliebige Objekte (Texte, Spaltenfelder, Beziehungsfenster) für die Bearbeitung frei platzieren.

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

Legende-Höhe

Standardwert ist 30 Pixel.

Legende-Hintergrundfarbe

Standardwert ist #D9DDE0.

Karte-Hintergrundfarbe

Standardwert ist #F4F2F4.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Funktionen

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

(keine)

9.11.4.17 PageControl

Ein TabControl setzt sich aus mehreren PageControls zusammen. Jeder PageControl ist ein Container und kann weitere Elemente beinhalten.

Attribute

Legende

Kartenüberschrift.

Funktionen

getVisible()

Gibt zurück, ob die Registerkarte in der Headerleiste angezeigt oder versteckt wird.

setActive()

Aktiviert die Registerkarte, d.h. der Inhalt der Registerkarte wird angezeigt.

setVisible(bVisible)

Zeigt oder versteckt die Registerkarte in der Headerleiste.

Ereignisse

onActivate

Für die Aktivierung von PageControl.

9.11.4.18 ObjectInfoBlock

Dieses Objekt ermöglicht eine einfache Anzeige von Spalteninhalten einer Zeile, inkl. dynamischer Spalten.

Attribute

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintergrundfarbe

Standardwert ist #c0c0c0.

Randfarbe, Randstärke

Randegenschaften.

andere

Nach dem erstem Anklicken erscheint eine Maske, aus der die Zieltabelle ausgewählt wird. Nach der Auswahl erscheint eine Maske, aus der die gewünschten Spalten ausgewählt und innerhalb des Objectinfoblock-Elements positioniert und designt werden.

Funktionen

setID(ObjectID)

Aktualisiert den Inhalt für die angegebene ObjectID.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

(keine)

9.11.4.19 Timer

Attribute

Intervall

Wert in Milisekunden.

Funktionen

setInterval(miliseconds)

Legt die Anzahl der Millisekunden zwischen dem Auslösen der ontick-Ereignisses des Timer-Steuerelements fest.

Ereignisse

ontick

Tritt ein, wenn das angegebene Intervall für den Zeitgeber abgelaufen ist.

9.11.4.20 E-Mail Formular

Diese Komponente steht für ein Frontend-E-Mail-Formular. Über Funktionen und Ereignissen können die Attribute sowohl nach der Initiierung als auch vor dem Versand gesteuert werden. Zusätzliche Aktionen nach dem Versand sind ebenso möglich.

Hinweis: Wenn als Inhalt sowohl Text als auch HTML erlaubt ist, wird beim Wechsel von Plain-Text auf HTML gefragt, ob Plain-Text übernommen werden soll und umgekehrt.

Attribute

andere

In den ankommenden Masken wird das E-Mail-Formular vorkonfiguriert, d.h. der Empfänger, Betreff, Inhalt, usw.

Funktionen

copyAddressBookToBCCText

Kopiert alle Kontakte von der Kontaktliste in das BCC-Textfeld.

copyAddressBookToCCText

Kopiert alle Kontakte von der Kontaktliste in das CC-Textfeld.

copyAddressBookToRcptText()

Kopiert alle Kontakte von der Kontaktliste in das Empfänger-Textfeld.

getAddressBook()

Gibt die Adressliste als Array zurück.

Beispiel:

var RU=rimacon._userform;

RU.EmailForm1.openDialog(false);

var i, ab=RU.EmailForm1.getAddressBook();

for (i=0; i<ab.length; i++) alert(ab[i]['name'] + ' ' + ab[i]['mail']);

getBCCEnabled()

Gibt zurück, ob das BCC-Textfeld gesperrt oder nicht gesperrt ist.

getBCCParsed()

Gibt die Empfänger aus der BCC-Textbox als Array zurück.. Siehe getRcptParsed.

getBCCText()

Gibt den Inhalt der BCC-Textbox zurück.

getCCEnabled()

Gibt zurück, ob das CC-Textfeld gesperrt oder nicht gesperrt ist.

getCCParsed()

Gibt die Empfänger aus der CC-Textbox als Array zurück.. Siehe getRcptParsed.

getCCText()

Gibt den Inhalt der CC-Textbox zurück.

getContent()

Gibt den Inhalt zurück.

getContentEnabled()

Gibt zurück, ob der Inhalt gesperrt oder nicht gesperrt ist.

getHTMLContent()

Gibt den HTML-Inhalt zurück.

getHTMLContentEnabled()

Gibt zurück, ob der HTML-Inhalt gesperrt oder nicht gesperrt ist.

getRcptEnabled()

Gibt zurück, ob der Empfänger gesperrt oder nicht gesperrt ist.

getRcptParsed()

Gibt die Empfänger aus der Empfänger-Textbox als Array zurück.

Beispiel: Ereignis EmailForm1.customValidator

var RU=rimacon._userform;

var i, rcpt=RU.EmailForm1.getRcptParsed();

for (i=0; i<rcpt.length; i++) alert(rcpt[i]['name'] + ' ' + rcpt[i]['mail']);

getRcptText()

Gibt den Inhalt der Empfänger-Textbox zurück.

getSendIndividual()

Gibt zurück, ob „Versand mit Anzeige nur des jeweiligen Empfängernamens“ angekreuzt ist.

getSendIndividualEnabled()

Gibt zurück, ob „Versand mit Anzeige nur des jeweiligen Empfängernamens“ nicht gesperrt ist.

getSentEmailID()

Gibt die ID (EMAIL.EMAIL_ID) der gesendeten E-Mail zurück. Die Methode kann nur im Ereignis JSAfterSend genutzt werden.

getSubject()

Gibt den Betreff zurück.

getSubjectEnabled()

Gibt zurück, ob der Betreff gesperrt oder nicht gesperrt ist.

hide()

Versteckt die E-Mail-Formularmaske.

makeResponse(emailid,bNoRcpt)

Bereitet eine Antwort auf eine vorhandene E-Mail (Tabelle EMAIL) vor.

Die E-Mail-ID ist EMAIL.EMAIL_ID.

Der Parameter bNoRcpt steuert, ob die Absenderadresse der vorhandenen E-Mail in das Empfängeradressfeld kopiert wird oder nicht.

Wert "true" bedeutet "nicht kopieren" , "false" bedeutet "kopieren".

openDialog(bNewWindow)

Öffnet die E-Mail-Formularmaske. Der Parameter ist ein Platzhalter und wird zukünftig genutzt.

reset()

Löscht die Inhalte aller E-Mail-Formularelemente.

sendDirect(from_mail, from_name, reply_to, subject, body, rcpt_mail_or_recipients, rcpt_name)

Sendet eine E-Mail direkt aus Javascript.

setAddressBook(ab)

Legt die Adressliste fest. Siehe Beispiel für getAddressBook.

setAddressBookEnabled(bEnabled)

Sperrt oder entsperrt die Adressliste.

setBCCEnabled(bEnabled)

Sperrt oder entsperrt den BCC-Empfänger.

setBCCText(text)

Legt den Inhalt der BCC-Textbox fest.

setCCEnabled(bEnabled)

Sperrt oder entsperrt den CC-Empfänger.

setCCText(text)

Legt den Inhalt der CC-Textbox fest.

setContent(sContent)

Legt den Inhalt fest.

setContentEnabled(bEnabled)

Sperrt oder entsperrt den Inhalt.

setContentModes(modes)

Legt fest, welche Inhalt-Mode erlaubt sind. Mögliche Werte:

„T“

Klar-Text ja, HTML nein

„H“

Klar-Text nein, HTML ja

„TH“

Klar-Text ja, HTML ja

setFromMail(mail)

Legt die Absender-Adresse fest.

setFromName(name)

Legt den Absender-Namen fest.

setHTMLContent(html)

Legt den HTML-Inhalt fest.

setHTMLContentEnabled(bEnabled)

Sperrt oder entsperrt den HTML-Inhalt.

setRcptEnabled(bEnabled)

Sperrt oder entsperrt den Empfänger.

setRcptText(text)

Legt den Inhalt der Empfänger-Textbox fest.

setReplyTo(mail)

Legt die Antwort-Adresse fest.

setSendIndividual(val)

Legt „Versand mit Anzeige nur des jeweiligen Empfängernamens“ fest.

setSendIndividualEnabled(bEnabled)

Sperrt oder entsperrt das „Versand mit Anzeige nur des jeweiligen Empfängernamens“-Element.

setSubject(sSubject)

Legt den Betreff fest.

setSubjectEnabled(bEnabled)

Sperrt oder entsperrt den Betreff.

showCustomButton(button_key,bShow)

Zeigt oder versteckt den Button.

toggleToHTMLMode

Wechselt in HTML-Modus

toggleToTextMode

Wechselt in Klar-Text-Modus

Ereignisse

onInit

Bei Aufruf des E-Mail-Formulars (nach openDialog). Hier besteht die Möglichkeit, die Felder nach spezifischen Regeln vorzubereiten.

customValidator

Prüfungen vor dem Absenden der E-Mail. Ergebnis (return) muss entweder false oder true sein.

false bedeutet "nicht senden"

true bedeutet "alles in Ordnung"

JSAfterClose

Tritt ein, wenn das E-Mail-Formular geschlossen wird. Beim Versand einer E-Mail tritt dieses Ereignis vor JSAfterSend ein.

JSAfterSend

Javascript-Anweisungen/Funktionen werden nach dem Absenden ausgeführt. Dies ermöglicht weitere Datenbankänderungen.

onCustomButtonPress

Ereignis bei Anklicken des benutzerdefiniertes Buttons

Kontextvariablen:

ctx.key: Eindeutiger Schlüssel des Buttons

ctx.e: Original Browser event-Objekt

9.11.4.21 Chart

Mit rimacon-Charts können Daten grafisch dargestellt werden. Hierbei ist sowohl die Abbildung der Rohdaten als auch eine statistische Auswertung, wie z.B. Summe, Maximum, Minimum, Anzahl etc. möglich.

Die Datenquelle wird über fixes oder parametrisiertes SQL erzeugt. Um Datenreihen zu gruppieren bzw. zu

aggregieren, wird eine Spalte als Rubrikachse aus der Quelle ausgewählt.

Attribute

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

andere

„Bei Initiierung Chart generieren“: Wenn nicht angekreuzt, muss der Chart über refresh() generiert werden.

design

Siehe Maske Design.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.Chart1.getDOMObject().style.border = "3px solid red";

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

Parameters

Enthält die Parameter für SQL, siehe Maske Design Reiter SQL

refresh()

Chart wird neu generiert.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onDataClick

Bei Anklicken eines Daten-Items. Weitere Informationen stehen in folgenden Variablen zu Verfügung:

event: windows-Event Objekt

ctx.ChartElementType: z.B. “DataPoint”, “DataPointLabel”, …

ctx.PointIndex: 0-basierter Index

ctx.SeriesIndex: 0-basierter Index der Datenreihe

ctx.CategoryText: Text aus der Rubrikenachse

Server-Ereignisse

RetrieveData

Wenn definiert, werden die Daten in diesem Script (nicht über SQL) erzeugt.

Speichern Sie die Daten als System.Data.DataTable-Klasse und setzen das Ergebnis in ctx.DataTable

var dt = new System.Data.DataTable();

dt.Columns.Add("status");

dt.Columns.Add("cnt");

dt.Rows.Add("Ist", 20);

dt.Rows.Add("Soll", 30);

ctx.DataTable = dt;

Hinweis: Folgende zwei DLLs müssen referenziert werden:

System.Data.dll

System.xml.dll

BeforeRender

Wird immer vor der Renderierung aufgerufen. In „ctx.RenderedChart“ steht das Chart-Objekt (vom Typ System.Windows.Forms.DataVisualization.Charting.Chart) und ermöglicht spezifische Änderungen.

Hinweis: Folgende zwei DLLs müssen referenziert werden:

System.Windows.Forms.dll

System.Windows.Forms.DataVisualization.dll

Maske Chart Designen

Reiter „Allgemein“

Dieser Reiter wird in den individuellen Masken nicht genutzt und gilt für Charts, die ohne individuelle Masken genutzt werden können.

Name

Chartname

Zeichenfolge zur Identifikation

Diese Zeichenfolge kann in einer URL als Parameter für pChartID genutzt werden.

Berechtigungen nutzen

Wenn aktiv, wird geprüft, ob der aktueller Webbenutzer für den Chart berechtigt ist.

Reiter „SQL“

Über diesen Reiter wird die Datenbasis definiert. Hierbei ist die Verwendung von Parametern möglich.

Reiter „Chart Eigenschaften“

Hier werden die Basiseigenschaften definiert. Beachten Sie bitte den Diagrammtyp. Soll den einzelnen

Datenreihen jeweils ein Typ zugeordnet werden, wählen Sie „für einzelne Datenreihen“. Soll ein Typ für alle

Datenreihen übernommen werden, wählen Sie „gemeinsam für alle Datenreihen“.

Wenn die Option „SQL“ aktiv ist, wird der eingegebene Text als SQL betrachtet und ausgeführt. Das Ergebnis wird in der Überschrift angezeigt. Die unter Reiter definierten Parameter können hier genutzt werden.

Reiter „Achsen“

Rubrikenachse (X)

Die Eigenschaft "Spalte" gruppiert bzw. aggregiert die Datenquelle. Jeder Wert aus dieser Spalte wird auf der Rubrikachse einmal angezeigt.

Größenachse (Y)

Über die Größenachse Y wird die optische Darstellung definiert. In Datenreihe werden die Werte für die

Datenreihe definiert.

Reiter „Datenreihen“

Über Datenreihen wird definiert, welche Daten über welche Funktion angezeigt werden.

Datenreihen werden über die vier Buttons „Hinzufügen“, “Löschen“, „Nach oben“ und „Nach unten“ verwaltet.

Per Rechtsklick oder Doppelklick der linken Maustaste können die Datenreihen konfiguriert werden.

Maske „Eigenschaften Datenreihe“

Reiter „Datenreihentyp“

Hier werden die Datenreihentypen angezeigt und können ausgewählt werden.

Reiter „Allgemein“

Daten können hier identifiziert und über bestimmte Funktionen gruppiert bzw. aggregiert werden. Die

Identifizierung erfolgt hier über den Titel der Spalte, die die Rubrikachse darstellt.

Optional kann dieser Titel in der Legende angezeigt werden. Für eine Gruppierung wird der Inhalt einer Spalte ausgewählt und eine entsprechende ausgewählte Funktion mit diesen Daten ausgeführt.

Hinweis: Bei der Funktion „Anzahl“ wird nur die Häufigkeit eines bestimmten Wertes aus der Rubrikachse

gezählt. Andere Spalten werden ignoriert.

Reiter "Datenbeschriftungen"

Hier wird die Kennzeichnung der Datenpunkte (z.B. in Säulen oder Kreisstücke) angegeben. Dies ist vom

jeweiligen Typ der Datenreihe abhängig.

Bei einer Darstellung als Säulen oder Balken ist es z.B. sinnvoll, nur die Werte anzuzeigen oder bei Kreisen z.B. den dazugehörigen Namen der Kategorie anzuzeigen.

Reiter "Legende"

In diesem Reiter wird der Text der Legende definiert. Dieser ist vom jeweiligen Typ der Datenreihe abhängig. Bei Säulen und Balken ist es z.B. sinnvoll, nur den Namen der Datenreihe anzuzeigen oder bei Kreisen z.B. die jeweiligen Werte.

Reiter "Datenpunkte formatieren"

Hier kann die Gesamtheit oder eine Auswahl der konkreten Datenpunkte individuell formatiert werden. Die optischen Eigenschaften der Datenpunkte werden normalerweise von der Datenreihe übernommen. Wenn die Datenpunkte fix und bekannt sind, kann es sinnvoll sein, die optischen Eigenschaften für jeden Datenpunkt zu definieren.

Beispiel: Hat man als Ergebnis die drei immer wiederkehrenden Datenpunkte „unterlizensiert“, “überlizensiert“ und „ok“, dient es der Übersichtlichkeit, jeden Datenpunkt farbig entsprechend kenntlich zu machen.

9.11.4.22 Kalender-Modul

Mit dem Kalender können Abläufe wie z.B. Prozesse oder Changes aus individuellen Masken heraus dargestellt werden. Dabei können die Ansichten über Zeitfenster definiert werden (Tagesansicht, Arbeitswochenansicht, Wochenansicht, Monatsansicht).

Hinweis: Jahresansicht

Bei Anzeige wird die Zeit automatisch an die Zeitzone des Webbenutzers angepasst.

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

andere

Siehe „Kalender konfigurieren“

Funktionen

addItem(table, objid, from_year, from_month, from_day, from_hour, from_minute, to_year, to_month, to_day, to_hour, to_minute, is_all_days, text)

Fügt ein Zeitfenster hinzu.

addRelation(fromTable, fromObjID, toTable, toObjID, from_location, to_location, color, thick, pfeil_from_to_show, pfeil_to_from_show)

Fügt eine Beziehung hinzu, die als eine orientierte Linie (mit Pfeil) dargestellt wird.

fromTable, fromObjID

Identifiziert das erste Objekt

toTable, toObjID:

Identifiziert das zweite Objekt

from_location, to_location:

Definiert, wo in dem Zeitfenster (=Balken) die Linie beginnt und wo sie endet.

Werte:

"B“: von Beginn

„E“: von Ende

„M“: von Mittel

color, thick:

Farbe und Stärke der Linie

pfeil_from_to_show:

Legt fest, ob der Pfeil vom ersten Objekt auf das zweite Objekt zeigt (--------->)

pfeil_to_from_show:

Legt fest, ob der Pfeil vom zweiten Objekt auf das erste Objekt zeigt (<---------)

clearItems()

Löscht alle Zeitfenster.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getIsTimeaxisHorizontal()Gibt zurück, ob die Uhrzeit horizontal (true) oder vertikal (false) angezeigt wird.

getItem(index)

Gibt ein Zeitfenster zurück.

getItems()

Gibt alle Zeitfenster zurück.

getViewMode()

Gibt den Anzeigemodus als Zeichenfolge zurück.

month

Monat

week7

Woche

week5

Arbeitswoche

day

Tag

year

Jahr

refresh()

Kalender wird neu dargestellt.

setAutoRefresh(bARefresh)

Legt fest, ob nach Aufruf von folgenden Funktionen

- setViewMode*

- setTimeaxisHorizontal

- setTimeaxisVertical

- toggleTimeaxis

- setDate

der Kalender neu dargestellt wird. Standardmäßig wird der Kalender neu dargestellt.

Diese Funktion ist sinnvoll, wenn Sie z.B. gleichzeitig den ViewMode und das Datum ändern wollen.

Beispiel: 2x neu dargestellt

var RU=rimacon._userform, RUC=rimacon._userform._customer;

RU.Calendar1.setViewModeMonth()

RU.Calendar1.setDate(2016,5,2);

In diesem Fall würde der Kalender zweimal neu dargestellt, was aus Sicht der Webbenutzer lange dauert.

Beispiel: 1x neu dargestellt

var RU=rimacon._userform, RUC=rimacon._userform._customer;

RU.Calendar1.setAutoRefresh(false);

RU.Calendar1.setViewModeMonth()

RU.Calendar1.setDate(2016,5,2);

RU.Calendar1.setAutoRefresh(true);

RU.Calendar1.refresh();

setDate(date_as_string)

Legt das aktuell angezeigte Datum fest. Format 'TT.MM.JJJJ' .

setDate(year,month,day)

Legt das aktuell angezeigte Datum fest.

setItems(items)

Legt alle Zeitfenster fest.

setTimeaxisHorizontal

Die Uhrzeit wird horizontal angezeigt.

setTimeaxisVertical

Die Uhrzeit wird vertikal angezeigt.

setViewModeDay(timeaxis_horizontal)

Legt die Tagesansicht fest. Wenn timeaxis_horizontal true ist, wird die Uhrzeit horizontal angezeigt.

setViewModeMonth()

Legt die Monatsansicht fest.

setViewModeWeek5(timeaxis_horizontal)

Legt die Arbeitswochenansicht fest. Wenn timeaxis_horizontal true ist, wird die Uhrzeit horizontal angezeigt.

setViewModeWeek7(timeaxis_horizontal)

Legt die Wochenansicht fest. Wenn timeaxis_horizontal true ist, wird die Uhrzeit horizontal angezeigt.

setViewModeYear(days_horizontal)

Legt die Jahresansicht fest. Wenn days_horizontal true ist, werden die Tage horizontal angezeigt.

show(bShow)

Zeigt oder versteckt das Objekt.

showAllRelations()

Zeigt oder versteckt alle Beziehungen.

toggleTimeaxis

Wechselt die Uhrzeitanzeige zwischen horizontal und vertikal.

Ereignisse

onUpdateItems

Dieses Ereignis wird bei jedem Refresh ausgeführt und ermöglicht eine Modifizierung der Zeitfenster.

onItemClick

Dieses Ereignis wird durch Anklicken eines Zeitfensters (z.B. Prozess) ausgeführt.

Variable ctx enthält die Kontextinformationen. Attribute der Variable ctx sind:

ctx.event : Browser event-Objekt

ctx.Item: Objekt des Typs „Item“, siehe „Objekttyp“

onItemDblClick

Dieses Ereignis wird durch Doppelklick auf ein Zeitfenster (z.B. Prozess) ausgeführt.

onEmptyAreaClick

Durch Klicken in einen leeren Bereich der Maske können Funktionen für das Ereignis onEmptyAreaClick durchgeführt werden.

Kontextvariablen:

ctx.Datetime: Lokale Zeit-Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.

ctx.server.Datetime: Serverzeit-Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.

ctx.UsedTime: Objekt von Typ boolean. True, wenn die Zeit genutzt wird. False, wenn nur Datum (ohne Zeit) genutzt wird.

onItemWasMoved

Dieses Ereignis wird ausgeführt, wenn der Webbenutzer ein Zeitfenster verschiebt.

Kontextvariablen:

ctx.Item: Objekt des Typs „Item“ .

ctx.from: Lokale Zeit-Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.

ctx.to: Lokale Zeit. Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“ .

ctx.server.from: Serverzeit. Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.

ctx.server.to: Serverzeit. Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.

Objekttyp Item

Der Objekttyp „Item“ repräsentiert ein konkretes Zeitfenster.

Hierfür gibt es folgende Attribute:

Table

ObjID

Start

Objekt von Typ rimacon.ProjectCalendar.InternalDatetime

End

Objekt von Typ rimacon.ProjectCalendar.InternalDatetime

IsAllDay

Objekt von Typ boolean

Text

TextColor

BorderColor

BGColor

Objekttyp rimacon.ProjectCalendar.InternalDatetime

Der Objekttyp “rimacon.ProjectCalendar.InternalDatetime” beschreibt Datum und Zeit über die Attribute:

Year

Month

1-2

Day

1-31

Hour

0-23

Minute

0-59

ToString()

Datum und Zeit im Format TT.MM.JJJJ h:m

ToJSdate()

Datum und Zeit als Javascript-Date-Objekt

Kalender konfigurieren

Uhrzeit - Start und Ende:

Definiert den Zeitraum in den Ansichten Tagesansicht, Arbeitswochenansicht und Wocheansicht. Davon unabhängig kann im Web die 0-24-Darstellung ein- oder ausgeschaltet werden.

Standardansicht:

Die Standardansicht wird direkt nach dem Öffnen verwendet. Sie können hierbei zwischen den Ansichten Tagesansicht, Arbeitswochenansicht, Wochenansicht und Monatsansicht wählen.

Zeitachse:

Definiert, ob die Zeitachse horizontal oder vertikal angezeigt wird. Dies wird in allen Ansichten, außer in der Monatsansicht, betrachtet.

.

Minuten pro Zeile:

Definiert, wie viele Minuten durch eine Zeile der Ansichten Tagesansicht, Arbeitswochenansicht und Wochenansicht repräsentiert werden sollen. Soll eine Viertelstunde in einer Zeile ausgegeben werden, geben Sie 15 Minuten an. Eine Stunde wird dann in vier Zeilen gesplittet.

Diese Einstellung kann im Webinterface geändert werden.

Den Kalender bei Initiierung nicht generieren:

Wenn angekreuzt, wird der Kalender bei Initiierung der Maske nicht generiert. Dies ist sinnvoll, wenn der Inhalt von anderen Komponenten abhängig ist, die während der Initiierung der Maske noch nicht bekannt sind.

Zeitfensterquelle(n) benutzen:

Aktiviert oder deaktiviert die definierten Zeitfensterquellen.

Das Herz des Kalenders sind Zeitfenster, die in Zeitfensterquellen definiert werden. Die Anzahl der Zeitfensterquellen ist unbeschränkt. In der Regel ist eine Quelle jedoch ausreichend.

Die Verwaltung der Zeitfensterquellen erfolgt in der Zeitfensterquellenliste. Eine Konfiguration erfolgt über einen Doppelklick oder über „Bearbeiten“.

Maske Zeitfensterquelle

Zeitfenster liegen in einer Tabelle der Datenbank. Es gibt drei Möglichkeiten, woher die Zeitfenster stammen können:

1. Sollen die Zeitfenster nicht weiter gefiltert werden, müssen lediglich die Zeitfensterquellen definiert werden. Aktivieren Sie die Option „Zeitfensterquelle(n) nutzen“.

2. Um die Daten Ihren Anforderungen entsprechend spezifisch zu filtern, definieren Sie zunächst die Zeitfensterquellen. Über „Ereignis“ – onUpdateItems – getItems () stehen alle Zeitfenster zur Verfügung, die dann über weitere Funktionen verwaltet werden können. Aktivieren Sie auch hier die Option „Zeitfensterquelle(n) nutzen“.

3. Sollen die Zeitfenster nur auf Javascript-Ebene gesteuert werden, muss die Option „Zeitfensterquelle(n) nutzen“ inaktiv (!) sein. In diesem Fall werden die Zeitfenster nicht (!) in onUpdateItems, sondern über andere Ereignisse wie z.B. afterFormInit gesteuert.

In der nachfolgend erläuterten Maske wird der Standardfall (d.h. Quelle in Datenbank) konfiguriert.

Reiter Zeitraum

Javascriptname:

Dieser Name wird für die Kalenderfilter genutzt (siehe dort).

Ganztätiges Ereignis:

Hier können Sie definieren, ob es sich bei dem Zeitfenster nur um das jeweilige Datum oder das Datum und die dazugehörige Zeit handelt.

Quelle:

Die Quelle wird entweder als reines SQL oder als eine veröffentlichte Tabelle inkl. Erweiterung wie „inner join, where, ...“ definiert. Das "Ergebnis" ist grundsätzlich ein SQL-Befehl. Die Spalten können hierbei als Quelle für weitere Einstellungen genutzt werden.

Über die Textfelder „von“, „bis“, „angezeigter Text“ und die dazugehörigen Buttons definieren Sie den Anfang und das Ende des Zeitfensters und den im Web angezeigten Text.

Reiter Farben

Jedes Zeitfenster kann farbig spezifisch dargestellt werden. Sie können die Hintergrundfarbe, die Farbe des Textes und des Rahmens auswählen.

Diese Farben werden über ein ausgewähltes Farbschema gesteuert. Der Kalender enthält 25 vordefinierte Farbkombinationen. Der Hintergrund der Balken wird bei diesen vordefinierten Kombinationen jeweils mit gradientem Farbverlauf dargestellt. Möchten Sie andere Farben verwenden, erfolgt die Anzeige einfarbig.

Farbschemata

1. Standard

Alle Zeitfenster werden mit rimacon-vordefinierten Farben (blau) dargestellt.

2. Individuell

Alle Zeitfenster werden in den von Ihnen definierten Farben dargestellt.

3. Farbe für FK oder Auswahlspalte

Die Farbenkombination wird nach FK oder Auswahlspalte vordefiniert. Z.B. „status=geplant” blau, “status=fertig” grün.

4. aus Spalten

Die drei Farben werden auf SQL-Ebene definiert.

Kalender filtern

Grundsätzlich kann der Kalender auf vier Ebenen gefiltert bzw. gesteuert werden.

Generell

In Zeitfensterquelle-SQL kann ein SQL-Where genutzt werden

Im Webinterface

Im Webinterface kann die Zeitfensterquelle über das Kalender-Filter-Element und vordefinierte Checkboxen gefiltert werden, wobei jede Checkbox

einem Wert in einer vordefinierten Spalte (z.B. Status = erledigt) entsprechen kann

mehreren Werten in einer vordefinierten Spalte (z.B. Status = erledigt oder bestellt) entsprechen kann

einem SQL-Where-Ausdruck (z.B. Prozess-Budget >=1000,00 EUR und Prozess-Budget <=5000,00 EUR) entsprechen kann

Die Checkbox-Gruppe kann auch ignoriert werden.

Checkboxen innerhalb einer Gruppe werden als logisches oder, die gesamten Checkboxengruppen als logisches und betrachtet.

Beispiel: Objekte, die bestellt oder geplant sind und Kosten zwischen 1000,00 EUR und 5000,00 EUR verursachen:

Gruppe 1:

[x]

Bestellt

[ ]

Defekt

[x]

Geplant

Gruppe 2:

[ ]

Budget <1000 €

[x]

Budget 1000 – 5000 €

[ ]

Budget > 5000 €

Nachträglich in Javascript

Nach dem Auslesen der Daten aus den Zeitfensterquellen stehen alle Zeitfenster über ein Javascript-Ereignis zur Verfügung und können weiter spezifisch gesteuert werden.

Zeitfenster über Javascript generieren

Zeitfensterquellen können sowohl über die Management Console als auch manuell über Javascript hinzugefügt werden.

9.11.4.23 Kalender-Filter

Das Kalender-Filter-Element wird in einer individuellen Maske genutzt und mit einem bestimmten Kalender und der dazugehörigen Zeitfensterquelle verknüpft. Die Konfiguration erfolgt nach einem Doppelklick auf das Element.

Attribute

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintergr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

andere

siehe Punkt Kalender-Filter konfigurieren

Funktionen

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

(keine)

Kalender-Filter konfigurieren

Reiter “Allgemein”

In diesem Reiter definieren Sie die zu filternde Zeitfensterquelle.

Reiter “Anzeige”

Hier werden die Checkboxen konfiguriert.

Jede Checkbox kann einen von vier Filtertypen repräsentieren:

1. „Filter ignorieren“: die Checkboxgruppe wird ignoriert

2. „Spalte ist gleich Wert(e)“: eine vordefinierte Spalte ist gleich einem oder mehreren Wert(en). Beispiel: Status = erledigt oder defekt

3. „SQL-Where“: Beispiel: Budget >=1000,00 EUR und Budget <=5000,00 EUR

4. „alle Filter auswählen“: alle Checkboxen werden ausgewählt

Checkbox aus Auswahl oder FK-Spalte generieren

Kalender-Filter wird normalerweise genutzt, um die Zeitfenster (z.B. Prozesse) nach Status zu filtern. Um nicht jeden Status eins-zu-eins manuell hinzufügen zu müssen, besteht die Möglichkeit, die Checkbox für eine konkrete Spalte generieren zu lassen und evtl. nachträglich anzupassen.

9.11.4.24 Individuelle Maske

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

doNotCheckRights

Wenn auf true gesetzt, wird beim Öffnen nicht geprüft, ob der Webbenutzer entsprechende Rechte hat.

visible

Legt fest, ob das Element nach der Initiierung der Maske angezeigt wird.

Randfarbe

Standardwert ist schwarz.

Randstärke

Standardwert ist 1.

Funktionen

clearContent()

Löscht den Content-Bereich.

close()

Schließt die Maske, soweit möglich.

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück, hier konkret <iframe>.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getReturnObject()

Gibt den über MainForm.setReturnObject festgelegten Wert zurück. Standardwert ist null.

getRU()

Gibt das rimacon._userform-Namespace der individuellen Maske zurück.

init(userformid_or_key, objid, readonly, custom_url)

Initiiert eine konkrete individuelle Maske. Die Methode "getRU" ist erst nach dem onInited-Ereignis funktionsfähig.

initModal(userformid_or_key, objid, readonly, custom_url)

Initiiert eine konkrete individuelle Maske modal, d.h. die anderen Maskenelemente sind gesperrt.

initModal( prms: { ... } ), initSupermodal( prms: { ... } )

Ähnlich wie bei initModal/initSupermodal werden die einzelne Parameter über {} eingegeben.

Beispiel:

RU.userform1.initModal({

      userformIdOrKey:"<textId>"

      ,objId: <ID>

      ,readonly: false

      ,maximized: false

      ,openUFContextKey: "" /* RU._server.?() */

      ,customUrl: ""

      ,onInited: function() { console.log("onInited: prms") }

      ,onMessage: function(msg) { console.log("onMessage", msg) }

      ,onSaved: function(ctx) { console.log("onSaved: " + ctx.objId) }

      ,onClosed: function(ctx) { console.log("onClosed", ctx) }

})

Parameter:

userformIdOrKey, objId, readonly, customUrl: wie bei anderen initModal

maximized: wenn true, wird die Maske maximiert geöffnet

openUFContextKey: siehe auch Punkt 17.1.1 PrivateMainForm, Methode RegisterOpenUFContext

onInited, onMessage, onSaved, onClosed: Siehe unten Ereignisse. Hier definierte Ereignisse werden zusätzlich zu dem im UI definierten JS-ScriptScripten ausgeführt. Das ermöglicht es, bei komplexeren Szenarien die Hauptlogik auf einer Stelle zu halten,

initSupermodal(userformid_or_key, objid, readonly, custom_url)

Ähnlich wie bei initModal wird eine eine konkrete individuelle Maske modal initiiert. Aber im Gegensatz zu initModal werden nicht nur die Maskenelemente gesperrt, sondern auch die Elemente von allen übergeordneten Masken.

Diese Funktion ist sinnvoll, wenn Sie aus einer individuellen Masken eine zweite Maske aufrufen und aus der zweiten eine dritte, und Sie wissen, dass die dritte Maske größer ist als die zweite Maske. In einem solchem Fall sollte die dritte Maske über initSupermodal geöffnet werden, damit die Größe der zweiten Masken nicht limitiert wird.

maximize()

Maximiert die modalgeöffnete Maske.

onClosed(handler), onInited(handler), onMessage(handler), onSaved(handler)

Legt ein entsprechendes Ereignis-handler fest. Diese Funktionen sollten nach initModal&co aufgerufen werden. Die Werte und Bedeutung sind identisch wie bei Funktion „initModal( prms: { ... } )“ .

Hinweis: Nutzen Sie diese Funktionen, wenn die Maske über SSP modal geöffnet wird. Ansonst (über Javascript) nutzen Sie die Variante „initModal( prms: { ... } )“ .

setModalWindowPos(left, top, width, height)

Legt die Position und Größe der Maske (modal geöffnet) fest.

show(bShow)

Zeigt oder versteckt das Objekt.

startSave()

Startet asynchrones Speichern, d.h. die Werte werden erst verzögert und nicht unmittelbar nach Abschluss der Funktion gespeichert.

Ereignisse

onInited

Wenn die individuelle Maske vollständig initiiert wurde (iinkl. afterFormInit), wird dieses Ereignis ausgeführt.

onSaved

Wenn das Speichern in der individuellen Maske erfolgreich beendet ist.

Kontextvariablen: objid, ctx.objid, ctx.was_new

onSaveFailure

Wenn Speichen fehlschlägt.

onClosed Wenn die individuelle Maske geschlossen wird

Kontextvariable: objid

onMessage

Dieses Ereignis wird aufgerufen, wenn die geöffnete Maske die Funktion <MainForm>.SendMessageToOpener(msg) aufruft.

9.11.4.25 Window-Opener

Bestimmt das Öffnen (Pop-Up) einer individuellen Maske, überträgt kundenspezifische Parameter (über URL), fängt das Schließen ab und stellt den von der individuellen Maske zurückgegebenen Wert zu Verfügung.

Attribute

links, oben

Position in Management Console während Design. Hat keine Auswirkung auf die geöffnete Maske.

Funktionen

getReturnObject()

Gibt den über MainForm.setReturnObject festgelegten Wert zurück. Standardwert ist null.

isOpened()

Gibt zurück, ob die über OpenUSERFORMforEdit geöffnete Maske noch immer geöffnet ist.

OpenUSERFORMforEdit(userformid,objid,custom_url)

Siehe MainForm.OpenUSERFORMforEdit . Der Parameter refresh_opener wird nicht genutzt, da nach Speichern/Übernahme die Ausgangsmaske nicht aktualisiert wird, sondern stattdessen das Ereignis "onUnload" aufgeruft wird.

Ereignisse

onUnload

Dieses Ereignis wird aufgeruft, wenn die über OpenUSERFORMforEdit geöffnete Maske geschlossen oder neu geladen wird.

Wenn die Funktion isOpened() false zurückgibt, wird die Maske geschlossen.

Wenn die Funktion isOpened() true zurückgibt, wird die Maske neu geladen.

onMessage

Dieses Ereignis wird aufgerufen, wenn die geöffnete Maske die Funktion <MainForm>.SendMessageToOpener(msg) aufruft.

9.11.4.26 MenuBlock

Dieses Element stellt einen Menü-Block dar. Die Struktur kann sowohl im Configurator vorkonfiguriert als auch über Javascript definiert/geändert werden oder beides. Jeder Punkt wird durch einen eindeutigen Schlüssel (beliebige Zeichenfolge) identifiziert.

Es gibt zwei Arten von Punkten:

- Verzeichnis

- Javascript: beim Anklicken wird das Ereignis onItemClick generiert

Attribute

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

andere

In der sich öffnenden Maske wird die Baumstruktur vorkonfiguriert.

Funktionen

addItemDir(parent_as_key, key, text, opened)

Fügt einen Menüpunkt vom Typ Verzeichnis hinzu.

Hinweis: Die Darstellung wird erst nach refresh() aktualisiert.

addItemJS(parent_as_key, key, text)

Fügt einen Menüpunkt vom Typ Javascript hinzu.

Hinweis: Die Darstellung wird erst nach refresh() aktualisiert.

clear()

Löscht alle Punkte.

Hinweis: Die Darstellung wird erst nach refresh() aktualisiert.

customAfterHtml(html)

Siehe Funktion „refresh“.

clearChildren(key)

Löscht alle Punkte eines Punktes vom Typ Verzeichnis.

Hinweis: Die Darstellung wird erst nach refresh() aktualisiert.

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.MenuBlock1.getDOMObject().style.border="3px solid red";

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

refresh()

Aktualisiert die Darstellung. Das Ergebnis (HTML-Code) wird um den html-Code aus customAfterHtml erweitert.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onItemClick

Wenn ein Javascript-Punkt angeklickt wird.

Kontextvariable:

key: Schlüssel des Punktes

onToggle

Wenn ein Verzeichnis-Punkt aufgeklappt oder zugeklappt wird. Dies ist sinnvoll, wenn die Unterpunkte erst beim Aufklappen generiert werden sollen.

Kontextvariablen:

key: Schlüssel des Punktes

expanded: true bei Aufklappen und false bei Zuklappen

9.11.4.27 Matrix

Diese Komponente ermöglicht es, die Daten im Matrix-Format darstellen. Dies ist sinnvoll z.B. für n:m-Beziehungen.

Attribute

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

andere

Siehe „Matrix konfigurieren

Rahmen

Rahmeneigenschaften

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.Matrix1.getDOMObject().style.border="3px solid red";

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

invokePrint()

Öffnet die Darstellung in neuem Fenster im Druckformat.

invokeSave()

Speichert die Matrix unter dem Webbenutzer.

recalcLayout

Berechnet die Positionen von einzelnen Elementen neu.

reloadData()

Aktualisiert Daten aus der Datenbank.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onColumnHeaderClick

Kontextvariablen:

ctx.column.key: identifiziert die Spalte

onDataCellClick

Wenn eine Datenzelle angeklickt wird.

Kontextvariablen:

ctx.row.key: identifiziert die Zeile

ctx.column.key: identifiziert die Spalte

onRowHeaderClick

Kontextvariablen:

ctx.row.key: identifiziert die Zeile

onSysmenuClick

Das Sysmenü wird in C# generiert, siehe auch Punkt 17.1.94 rimacon.cmdb.web.UFCodeBehind.MatrixRetrieveContentContext.

Kontextvariablen:

ctx.event: Browser event-Objekt

ctx.key: in C# eingegebener Schlüssel des Menuitems.

Matrix konfigurieren

Reiter „Quelle“

Die Quelle kann

eine Tabelle

ein T-SQL-Script

ein C#-Script

sein.

Bei „Tabelle“ besteht die Möglichkeit, kundenspezifisch andere Tabellen/Spalten anzubinden.

Bei „C#“ wird die Struktur im Serverereignis „RetrieveContent“ generiert. Die Kontextvariable ctx ist vom Typ MatrixRetrieveContentContext, siehe auch Punkt 17.1.94 rimacon.cmdb.web.UFCodeBehind.MatrixRetrieveContentContext.

Reiter „Zeilen“

Standard-Spalte

Wenn die Quelle eine Tabelle ist, erscheinen in dieser Auswahlliste alle FK-Spalten. Im Webinterface wird dann statt des Primärschlüssels der entsprechende Objektname angezeigt.

Spalte aus dem "SQL" oder "Select anpassen"

Im Webinterface wird der Inhalt der ausgewählten Spalte angezeigt.

Direkt-HTML

Legt fest, ob der Inhalt direkt angezeigt wird oder ob die Zeichen <,>," und & in &lt;, &gt;, &quot; und &amp; umgewandelt werden.

Trennart

Längere Texte können in mehreren Zeilen dargestellt werden.

Maximale angezeigte Länge

Wenn längere Texte erwartet werden, können diese abgeschnitten werden.

Filter

Wenn eine Standard-Spalte ausgewählt wird, kann die Zieltabelle des FKs gefiltert werden.

Reiter „Spalten“

Ähnlich wie Reiter „Zeilen“.

Reiter „Datenzelle“

Hier wird die Quelle für die Datenzeilen definiert.

Bei mehreren Inhalten werden diese so generiert, wie sie ankommen. Dies bedeutet, dass sie meistens nebeneinander dargestellt werden.

Reiter „Weitere Eigenschaften“

Hier werden die optischen Einstellungen definiert.

Hinweis: Wenn die Option „Die Liste bei Initiierung nicht anzeigen“ angekreuzt ist, muss die Matrix über die Funktion reloadData() generiert werden.

9.11.4.28 Explorer

Ermöglicht es, den Explorer direkt in die Maske einzubinden.

Attribute

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

andere

In der sich öffnenden Maske können diverse spezifische Einstellungen konfiguriert werden.

Hintegr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

OnTreeClickAction

Aktion beim Anklicken des Baumknotens.

OnGraphClickAction

Aktion beim Anklicken des Diagramm-Items

Funktionen

clearCustomFilterByIDs(table)

Löscht den benutzerdefinierten Ad-hoc-Filter (über Javascript) für die Tabelle.

enableRedundandInChain(bEnabled)

Sperrt oder entsperrt „Redundanz in Kette“

enableRedundandRelat(bEnabled)

Sperrt oder entsperrt „Redundante Beziehungen

getCustomFilterByIDs(table)

Gibt den benutzerdefinierten Ad-hoc-Filter (über Javascript) für die Tabelle zurück oder JS-null, wenn kein Filter definiert ist.

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück

Beispiel:

RU.Explorer1.getDOMObject().style.border="3px solid red";

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getMaxObjects()

Gibt zurück, wie viele Objekte aus einer Beziehung höchstens aufgelistet werden. Wenn in einer Beziehung mehr Objekte enthalten sind, wird im Baum nur ein Knoten mit der Anzahl dargestellt und die Objekte werden durch Anklicken aufgelistet.

getNodesCount()

Gibt zurück, wieviel Knoten es im Baum insgesamt gibt.

invokePrint()

Öffnet die Darstellung in neuem Fenster im Druckformat.

isAERunning()

Gibt zurück, ob Automatic Exploring noch läuft. True bedeutet ja, false bedeutet nein.

isCardinalityShowed()

Gibt zurück, ob die Kardinalität angezeigt wird.

isRedundandInChainEnabled()

Gibt zurück, ob die „Redundanz in Kette“ entsperrt oder gesperrt ist.

isRedundandRelatEnabled()

Gibt zurück, ob „Redundante Beziehungen“ entsperrt oder gesperrt sind.

setCustomFilterByIDs(table, ids)

Legt einen benutzerdefinierten Ad-hoc-Filter (über Javascript) für die Tabelle fest.

setMaxObjects(count)

Legt fest, wie viele Objekte aus einer Beziehung höchstens aufgelistet werden.

show(bShow)

Zeigt oder versteckt das Objekt.

showCardinality(bShow)

Zeigt oder versteckt die Kardinalität.

start(objid,automatic_exploring)

Initiiert und startet den Explorer. Tabelle und Analysestruktur werden aus den Einstellungen übernommen.

startUniv(table,objid,tgrpid,automatic_exploring)

Initiiert und startet den Explorer universell.

stopAE()

Stoppt Automatic Exploring.

switchToGraph(template_name)

Wechseln zu Diagramm.

Parameter:

template_name: unter diesem Schlüssel wird der Graph gespeichert. Wenn der Explorer nur eine Schablone benötigt, können Sie eine leere Zeichenfolge benutzen.

switchToTree()

Wechseln zur Baumansicht

Ereignisse

onItemCreating

Dieses Ereignis wird bei jeder Item-Erstellung aufgerufen. Über Kontextvariablen ist es möglich, einige Item-Eigenschaften zu ändern.

Kontextvariablen:

ctx.ObjectCount:

ctx.Table: Objekttabelle (z.B. ANW, PAF, VTAB_Server, ...)

ctx.VtabID: Tabellen-ID

ctx.ObjID: Objekt-ID

ctx.ImgSrc [writable]: dieses Bild wird bei der Darstellung genutzt.

ctx.HTMLItemName [writable]: Dieses HTML wird bei der Darstellung genutzt.

onItemsCountChanged

Wenn sich die Anzahl der Knoten verändert.

Kontextvariable: count

onAEDone

Wenn Automatic Exploring beendet wird.

Kontextvariable:

aborted: Wenn true, wurde Automatic Exploring abgebrochen (manuell, aus Javascript, ...)

onItemClick

Kontextvariablen:

ctx.event: Browser event-Objekt

ctx.Item.Table: Objekttabelle (z.B. ANW, PAF, VTAB_Server, ...)

ctx.Item.VtabID: Tabellen-ID

ctx.Item.ObjID: Objekt-ID

onItemDblClick

Kontextvariablen:

ctx.event: Browser event-Objekt

ctx.Item.Table: Objekttabelle (z.B. ANW, PAF, VTAB_Server, ...)

ctx.Item.VtabID: Tabellen-ID

ctx.Item.ObjID: Objekt-ID

onItemMenuClick

Im Diagrammer bei Anklicken eines benutzerdefinierten Menuitems

Kontextvariablen:

ctx.Item.ObjID: Objekt-ID

ctx.Item.Table: Objekttabelle als Zeichenfolge

ctx.Item.VtabID: Objekttabelle-ID (VTAB_ID)

ctx.Key: Schlüssel

ctx.event: Browser event-Objekt

9.11.4.29 Attachment

Dieses Objekt verwaltet ein Attribut von Typ „Attachment“.

Attribute

links,oben,Breite,Höhe

Position und Größe

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

locked

Wenn angekreuzt, kann der Inhalt nicht geändert werden.

Hintergr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

CanFiles

Wenn nicht aktiv, können keine Dateien hochgeladen werden. Standardeinstellung ist aktiv.

CanLinks

Wenn nicht aktiv, können keine URLs/Links hochgeladen werden. Standardeinstellung ist aktiv.

CanDirs

Wenn nicht aktiv, können keine Verzeichnisse hochgeladen werden. Standardeinstellung ist aktiv.

9.11.4.30 Standard-Bearbeitungsformular

Dieses Element ermöglicht es, das Standard-Bearbeitungsformular zu öffnen.

Attribute

links,oben,Breite,Höhe

Position und Größe

Funktionen

initModal(table,objid)

Öffnet das Standard-Bearbeitungsformular.

Ereignisse

onClosed

Wenn die individuelle Maske geschlossen wird.

Kontextvariablen: ctx.wasSaved, ctx.ObjID, ctx.wasNew

onSaved

Wenn das Speichern im Standard-Bearbeitungsformular erfolgreich beendet ist.

Kontextvariablen: ctx.ObjID, ctx.wasNew

9.11.4.31 Standard-Löschenmaske

Dieses Element ermöglicht es, die Standard-Löschenmaske zu öffnen.

Attribute

links,oben,Breite,Höhe

Position und Größe

Funktionen

initModal(table, id_or_ids)

Öffnet die Standard-Löschenmaske. Parameter kann eine ID oder eine Javascript-Array von IDs sein.

Ereignisse

onDeletedOneObject

Wenn das Löschen eines Objektes erfolgreich oder nicht erfolgreich war.

Kontextvariablen:

- ctx.wasDeleted

- ctx.errmsg => wenn nicht leer, war Löschen nicht erfolgreich

- ctx.table

- ctx.objid

onClosed

Wenn die Maske geschlossen wird.

Kontextvariablen:

- ctx.wasDeleted: wenn false, wurden nicht alle Objekte gelöscht (Maske wurde einfach geschlosssen, Fehler beim Löschen bei mindestens eines Objektes, etc.)

- ctx.items: JS-Array von allen gelöschten Objekten (erfolgreich oder nicht erfolgreich)

- ctx.items[index].wasDeleted

- ctx.items[index].errmsg

- ctx.items[index].table

- ctx.items[index].objid

9.11.4.32 TreeTable

Dieses Element stellt einen Baum dar. Optional ist es möglich, ein Gantt-Diagramm zu nutzen. Der Inhalt wird über Server-Side-Programming definiert.

Attribute

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Hintergr./Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

links,oben,Breite,Höhe

Position und Größe

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

andere

Hier kann Gannt eingeschaltet oder ausgeschaltet werden. Wenn eingeschaltet, können einige Basiseigenschaften des Gantts eingestellt werden.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

isShowed()

Gibt zurück, ob das Objekt angezeigt (true) oder versteckt (false) ist.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onIconClick

Javascript-Anweisungen/-Funktionen werden nach Anklicken eines Icons ausgeführt. Weitere Informationen stehen über die Kontextvariablen ctx.NodeKey und ctx.IconKey zur Verfügung.

onCheckboxChecked

Javascript-Anweisungen/-Funktionen werden nach Ankreuzen/Abkreuzen einer Checkbox ausgeführt. Weitere Informationen stehen über die Kontextvariablen ctx.NodeKey, ctx.CheckboxKey und ctx.Checked zur Verfügung.

onTextClick

Ereignis nach Anklicken eines Textelements.

onGanttBarMoved

Ereignis nach Verschieben eines Gantt-Bars.

onGanttBarClick

Ereignis nach Anklicken eines Gantt-Bars.

onGanttDrawing

Dieses Ereignis wird während des Drawing (d.h. Generieren von HTML-Objekten von Javascript) mehrmals aufgerufen. In der Variable ctx.action befindet sich der aktuelle Status der Generierung. Alle möglichen Stati mit einigen Beispielen werden in der Management Console automatisch generiert.

9.11.4.33 Menübar

Dieses Element stellt die Menübar dar. In der Management Console kann die Struktur vordefiniert werden. Über Javascript ist keine Änderung möglich. Über Server Side Programming kann die Struktur ad hoc beliebig geändert werden.

Attribute

links,oben,Breite

Position und Größe. In der Regel steht die Menübar immer links oben und die Breite passt sich an die Maske an.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

andere

Hier wird die Struktur vordefiniert. Wichtig ist, jedem Menuitem einen Schlüssel zuzuordnen, über den das Menüitem in den Ereignissen onItemClick und OnItemClick identifiziert wird.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

getEnabled()

Gibt zurück, ob das Objekt gesperrt oder nicht gesperrt ist.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setLeft(left), setPosition(left,top), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onItemClick

Wenn ein Javascript-Punkt angeklickt wird.

Kontextvariable:

key: Schlüssel des Menüitems

9.11.4.34 RichTextEditor

Ermöglicht das Bearbeiten von formatierten Text.

Attribute

links,oben,Breite,Höhe

Position und Größe.

Enabled

Legt fest, ob das Objekt gesperrt oder nicht gesperrt ist.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

getEnabled()

Gibt zurück, ob das Objekt gesperrt oder nicht gesperrt ist.

getHTMLContent

Gibt den Inhalt zurück.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setLeft(left), setPosition(left,top), setTop(top), setWidth(width), setHeight(height)

siehe auch Punkt 9.11.5.1 Position und Größe

setHTMLContent(html)

Legt den Inhalt fest.

show(bShow)

Zeigt oder versteckt das Objekt.

9.11.4.35 IPTextBox

Ermöglicht eine IP in drei verschiedenen Formaten einzugeben,

Attribute

links,oben,Breite

Position und Größe.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Enabled

Legt fest, ob das Objekt gesperrt oder nicht gesperrt ist.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

format

In welchem Format wird die IP eingegeben. Es gibt drei Formate:

1) IP4 : 255.255.255.255

2) IP4/mask : Mask müss zwischen 0 und 32 liegen

3) IP4-IP4: 255.255.255.255 – 255.255.255.255

Hinweis für die IP4-Textbox im Webinterface:

- Die IP4 kann auch über Zwischenablege eingefügt werden. Dies erleichtert das Kopieren von anderen Systemen.

- Beim eintippen von „.“ wird der Cursor automatisch ins nächste Subfield verschoben. Dies ermöglicht die IP ohne Tabelator einzugeben, d.h. einfach „11.22.33.44“ mit Punkten.

Funktionen

checkInputValidity

Prüft den eingegebenen Wert. Ist der Wert nicht, wird eine Fehlermeldung als Zeichenfolge zurückgegeben. Wenn alles ok, wird eine leere Zeichenfolge zurückgegeben.

getEnabled()

Gibt zurück, ob das Objekt gesperrt oder nicht gesperrt ist.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setLeft(left), setPosition(left,top), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getValue()

Gibt Inhalt im entsprechenden Format zurück. Ob die Werte dem vordefinierten Format entsprechen, wird nicht geprüft.

setValue(value)

Legt den Inhalt der Textbox fest. Wenn „value“ dem vordefinierten Format nicht entspricht, wird der Wert nur teilweise oder gar nicht übernommen.

show(bShow)

Zeigt oder versteckt das Objekt.

9.11.4.36 Seriendatumgenerator

Diese Komponente ermöglicht es, eine Reihe von Daten und optional auch Zeiten zu generieren.

Der Webbenutzer bekommt ein Konfigurationselement zur Verfügung, in dem er alles einstellen kann. (ähnlich wie bei Terminserie im Outlook).

In der JS-Funktion „gener“ wird dann die Reihe generiert und Sie können die Funktion weiter in Ihrer Business-Logik benutzen.

Attribute

links, oben, Breite, Höhe

Position und Größe.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Rahmen

siehe auch Punkt 9.11.5.3 Hintergrund und Rahmen

Funktionen

closePreview()

Ansicht wird geschlossen.

gener(), gener(format), generToGermanFormat

Generiert eine Reihe von Daten und optional auch Zeiten und gibt diese als JS-Array fix mit zwei Werten [0] und [1] zurück. Jeder Wert is dabei ein JS-Array. Array von [0] ist das „Start“- und [1] ist das „Ende“-Array.

D.h. die Pärchen sind [0][i] und [1][i].

Mögliche Werte für den Parameter „format“ sind:

„odbc“: => Zeichenfolge im Format 2015-04-30 14:41:14

"german": => Zeichenfolge im Format 30.04.2015 14:39:57

sonstige : nutzen Sie Javascript-Date-Objekt

Funktion generToGermanFormat ist Äquivalent zu gener(„german“).

Wenn die Einstellungen vom Webbenutzer nicht korrekt sind, sind die zwei zurückgegebene Array leer,

d.h.: [ [], [] ] .

Beispiel, wie eine Reihe von Daten und optional auch Zeiten ausgedumpt werden kann:

var arr = RU.DateRecurrenceGenerator1.generToGermanFormat();

var dump = "";

for (var i=0; i<arr[0].length; i++) dump += arr[0][i] + " - " + arr[1][i] + "\r\n";

alert(dump);

getEnabled()

Gibt zurück, ob das Objekt gesperrt oder nicht gesperrt ist.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

invokePreview

Öffnen einer Ansicht der generierten Reihe entsprechend einer aktuellen Konfiguration.

loadSettings(data)

Liest die Konfiguration einer von der saveSettings-zurückgegebenen Zeichenfolge aus.

reset

Setzt die Konfiguration zurück.

saveSettings

Speichert die aktuelle Konfiguration in eine Zeichenfolge und gibt sie zurück. Die Zeichenfolge kann beispielweise in die Datenbank gespeichert werden, später ausgelesen und über loadSettings wird die Konfiguration dann wiederhergestellt.

setEnabled(bEnabled)

Sperrt oder entsperrt das Objekt

show(bShow)

Zeigt oder versteckt das Objekt.

validateInput()

Prüft die vom Webbenutzer definierte Konfiguration. Ist die Konfiguration nicht korrekt, wird eine Fehlermeldung als Zeichenfolge zurückgegeben. Wenn alles OK ist, gibt diese Funktion eine leere Zeichenfolge zurück.

9.11.4.37 Horizontale Linie

Stellt eine einfache horizontale Linie dar.

Attribute

links, oben, Breite, Höhe

Position und Größe.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Farbe

Farbe der Linie.

Funktionen

getColor()

Gibt die aktuelle Farbe der Linie zurück.

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setLeft(left), setPosition(left,top), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

setColor(clr)

Legt die Farbe der Linie fest.

show(bShow)

Zeigt oder versteckt das Objekt.

9.11.4.38 TextArea

Attribute

links,oben,Breite,Höhe

Position und Größe

Enabled

Legt fest, ob das Objekt gesperrt oder nicht gesperrt ist.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.TextArea1.getDOMObject().style.border="3px solid red";

getEnabled()

Gibt zurück, ob das Objekt gesperrt oder nicht gesperrt ist.

getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)

siehe auch Punkt 9.11.5.1 Position und Größe

getValue()

Gibt Inhalt der Textbereiche (Textarea) zurück.

setEnabled(bEnabled)

Sperrt oder entsperrt das Objekt

setValue(new_value)

Legt den Inhalt der Textareas fest.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onblur, onchange, onclick, onkeydown, onkeyup, onmouseover, onmousemove, onmouseout, onfocus

siehe auch Punkt 9.11.5.1 Position und Größe

9.11.4.39 Bild

Attribute

Autosize

Wenn angekreuzt, passt sich die Größe automatisch nach dem Bild an.

HTML-Style

siehe auch Punkt 9.11.5.6 HTML-Style

links,oben,Breite,Höhe

Position und Größe

Inhalt

siehe auch Punkt 1.26 Maske „Bild Auswählen“

Text

Beschreibung.

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Funktionen

getDOMObject()

Gibt das Javascript-DOM-Objekt zurück.

Beispiel:

RU.image1.getDOMObject().style.border="3px solid red";

getSrc()

Gibt den Pfad des Bildes zurück.

setSrc(ImagePath)

Legt den Pfad des Bildes fest.

show(bShow)

Zeigt oder versteckt das Objekt.

Ereignisse

onclick, onmouseover, onmousemove, onmouseout

siehe auch Punkt 9.11.5.5 Ereignisse

9.11.4.40 Auswahlliste

Attribute

links,oben,Breite

Position und Breite

visible

Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.

Enabled

Legt fest, ob das Objekt gesperrt oder nicht gesperrt ist.

AutoMoveAndResize

siehe auch Punkt 9.11.5.2 AutoMoveAndResize

Funktionen

addOption(value,text)

fügt eine neue Option hinzu

addOptionsFromSQLApi(rs,field_key,field_text)

Beispiel:

Javascript

var RU=rimacon._userform;

RU.selResults.removeAllOptions();

RU.selResults.addOptionsFromSQLApi( RU._sqlapi.find_dom(RU.txFi