3.3.7. Flex-Features
Bei den sogenannten Flex-Features handelt es sich um flexible, kontextabhängige Aktionen. Je nachdem, wo innerhalb von OCT (Fabrik, Produktlinie, Produkt, etc.) ein Flex-Feature ausgeführt wird, liefert es unterschiedlichen Inhalt oder führt unterschiedliche Aktionen aus. Jedes Flex-Feature muss individuell auf SQL-Ebene konfiguriert werden.
Folgende Flex-Features sind in der Applikation verfügbar:
FlexSearch
FlexAction
FlexDrill
Verschiedene Flex-Features können auf den Ebenen “Fabrik”, “Produktlinie” und “Produkt” angewandt werden:
Auf Fabrikebene kann FlexAction über das Kontextmenü im Navigationsbaum ausgewählt werden.
Auf Produktlinienebene kann FlexAction über das Kontextmenü im Navigationsbaum sowie alle drei Flex-Features über die Menüleiste des Anzeigefelds des ProductLine-Tabs ausgewählt werden.
Auf Produktebene kann FlexAction über das Kontextmenü im Navigationsbaum sowie alle drei Flex-Features über die Menüleiste einer Produkttabelle oder über ein Kontextmenü, welches über einen Rechtsklick in eine Zelle der Produkttabelle geöffnet wird, ausgewählt werden.
3.3.7.1. FlexSearch
Die FlexSearch ist eine kontextabhängige Suche, welche in Abhängigkeit der aktuellen Position eine Liste von Werten zurückgibt. Der Wert, welcher in der Liste des geöffneten FlexSearch-Dialogs ausgewählt wird, wird direkt in die Produkttabelle eingefügt. Diese Funktion unterscheidet FlexSearch von FlexDrill, bei welchem Werte nur angezeigt werden.
Die FlexSearch kann über das Icon in der Menüleiste einer Produkttabelle sowie im Kontextmenü der Wertreihenspalte einer Produkttabelle geöffnet werden.
Die FlexSearch muss, wie alle Flex-Features, auf SQL-Ebene konfiguriert werden.
Bei Auswahl des Icons oder der Option “FlexSearch” öffnet sich ein Dialog, welcher im Default-Zustand eine Liste mit Städten (CityCode/CityName) enthält.
FlexSearch - Tabelle allgemein | |
Dialogüberschrift |
|
Gruppierung |
|
Suchfeld |
|
Suche in der Spaltenüberschrift |
|
Auf- und absteigend sortieren |
|
Spaltenüberschriften | |
CityCode |
|
CityName |
|
Wird die FlexSearch über eine ausgewählte Zelle der Produkttabelle geöffnet, erscheinen in der Menüleiste der Tabelle weitere Optionen:
Flexzelle |
|
Suche nach Flexzelle |
|
Wert löschen |
|
Button “Anwenden” |
|
Nach dem Übernehmen des Werts in die Flexzelle wird die Produkt- bzw. Produktlinien-Tabelle sofort gespeichert.
3.3.7.1.1. Beispiel für FlexSearch
Für eine FlexSearch muss eine Prozedur individuell auf SQL-Ebene angepasst werden.
Beispiel einer angepassten Prozedur einer konfigurierten FlexSearch (Anpassung in Prozedur sx_pf_GET_FlexList):
IF @ValueSeriesID = 'BEM'
BEGIN
SELECT
'Liste von Bemerkungen' AS Hint
,'Wartung Fenster' AS Bemerkung
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Wartung Türen' AS Bemerkung
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Reinigung Tiefgarage' AS Bemerkung
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Reparatur Aufzug' AS Bemerkung
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Wartung Feuermelder' AS Bemerkung
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Winterdienst' AS Bemerkung
ORDER BY Bemerkung;
SET @SearchDoneFlag = 1
END
Nachdem auf SQL-Ebene die Prozedur individuell angepasst wurde, kann man die FlexSearch Funktion nutzen. Wenn man z.B. über FlexSearch einen Wert “100,00 Euro Ausgaben für den Winterdienst” in die Produkttabelle eintragen möchte, öffnet man über einen Rechtsklick in die entsprechende Zelle das Kontextmenü der Wertreihenspalte, um FlexSearch auszuwählen:
Es öffnet sich ein Dialog, der auf SQL-Ebene angepasst wurde:
Aus der Liste mit Optionen wählt man mit einem Doppelklick oder mit Auswahl des Buttons “Anwenden” die entsprechende Bemerkung, in diesem Fall “Winterdienst” aus, welche dann sofort in die Produkttabelle übernommen wird.
Das Beispiel für die FlexSearch ist somit abgeschlossen.
3.3.7.1.2. Beispiel für FlexSearch mit veränderter Anzeige
Die Anzeige des Dialogs kann bearbeitet werden, indem die Spaltenbreite angepasst oder die Position der Werte (linksbündig, mittig oder rechtsbündig) bestimmt wird. Dafür muss auf SQL-Ebene die Prozedur folgendermaßen angepasst werden:
Für die Orientierung bzw. Position der Werte in der Spalte (L=linksbündig, R=rechtsbündig, C=mittig) z.B. CS10 oder LS90
Datentyp (M=Money/Kommazahl, S=String/Text, I=Integer/Ganzzahl) z.B. CS10 oder LS90
Spaltenbreite (in Prozent) z.B. CS10 oder LS90
Beispiel einer angepassten Prozedur auf SQL-Ebene mit einer veränderten Anzeige im Dialog:
IF @ValueSeriesID = 'BEM'
BEGIN
SELECT
'Liste von Bemerkungen' AS Hint
,'Wartung' AS Typ_CS10
,'Wartung Fenster' AS Bemerkung_LS90
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Wartung' AS Typ_CS10
,'Wartung Türen' AS Bemerkung_LS90
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Reinigung' AS Typ_CS10
,'Reinigung Tiefgarage' AS Bemerkung_LS90
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Reparatur' AS Typ_CS10
,'Reparatur Aufzug' AS Bemerkung_LS90
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Wartung' AS Typ_CS10
,'Wartung Feuermelder' AS Bemerkung_LS90
UNION ALL
SELECT
'Liste von Bemerkungen' AS Hint
,'Sonstiges' AS Typ_CS10
,'Winterdienst' AS Bemerkung_LS90
ORDER BY Bemerkung_LS90;
SET @SearchDoneFlag = 1
END
Mit veränderter Anzeige sieht der FlexSearch-Dialog folgendermaßen aus:
3.3.7.2. FlexAction
Die FlexAction ist im Unterschied zu den anderen Flex-Features auch als Option im Kontextmenü der Fabrik, der Produktlinie und des Produkts im Navigationsbaum zu finden.
Des Weiteren kann die FlexAction in der Menüleiste des Anzeigefelds des ProductLine-Tabs, in der Menüleiste einer Produkttabelle sowie im Kontextmenü der Wertreihenspalte einer Produkttabelle geöffnet werden.
Die FlexAction muss, wie alle Flex-Features, auf SQL-Ebene konfiguriert werden.
Bei Auswahl des Icons oder der Option “FlexAction” öffnet sich ein Dialog, welcher im Default-Zustand nur ein Warnfenster auslöst.
3.3.7.2.1. Beispiel für FlexAction
Für eine FlexAction müssen mehrere Prozeduren individuell auf SQL-Ebene angepasst werden.
Beispiel einer Anpassung in der Prozedur sx_pf_GET_FlexAction, um eine Auswahlliste zu erzeugen
IF @FactoryID = '2'
BEGIN
SELECT
'Aktionen für Mietverträge Dresden' AS Hint
,'Archivieren' AS Aktion
UNION ALL
SELECT
'Aktionen für Mietverträge Dresden' AS Hint
,'Mietvertrag kündigen' AS Aktion
UNION ALL
SELECT
'Aktionen für Mietverträge Dresden' AS Hint
,'Mieterhöhung 10%' AS Aktion
UNION ALL
SELECT
'Aktionen für Mietverträge Dresden' AS Hint
,'Mitevertrag verlängern' AS Aktion
ORDER BY Aktion;
END
Beispiel einer Anpassung in der Prozedur sx_pf_POST_FlexAction, um die Aktion nach der Auswahl festzulegen (Produkt wird in Archiv-Produktlinie verschoben):
IF @FactoryID = '2' AND @FlexParameter = 'Archivieren'
BEGIN
EXEC dbo.sx_pf_MOVE_Product @Username = N'SQL',
@SourceFactoryID = @FactoryID,
@SourceProductLineID = @ProductLineID,
@SourceProductID = @ProductID,
@TargetFactoryID = @FactoryID,
@TargetProductLineID = N'100',
@TargetProductID = @ProductID;
SET @ResultCode = 200;
END
Nachdem auf SQL-Ebene die Prozeduren individuell für die Aktion “Archivieren” angepasst wurden, kann z.B. über ein Rechtsklick auf das Produkt über das Kontextmenü die FlexAction ausgeführt werden.
Es öffnet sich ein Dialog, der auf SQL-Ebene angepasst wurde:
Die Anzeige des Dialogs kann bearbeitet werden, bzw. können die Werte auch linksbündig, mittig oder rechtsbündig stehen. Dafür muss auf SQL-Ebene die Prozedur angepasst werden.
Ein Beispiel dafür mit einem SQL-Auszug finden Sie hier: 3.3.7. Flex-Features | 3.3.7.1.2.-Beispiel-für-FlexSearch-mit-veränderter-Anzeige
FlexAction - Tabelle allgemein | |
Dialogüberschrift |
|
Gruppierung |
|
Suchfeld |
|
Suche in der Spaltenüberschrift |
|
Auf- und absteigend sortieren |
|
Spaltenüberschriften | |
Aktion |
|
Nachdem die Aktion “Archivieren” in der Tabelle ausgewählt und angewandt wurde, wird das Produkt aus der Quellproduktlinie “Verträge für Räume und Gebäude” automatisch in die Zielproduktlinie “Archiv Dresden” verschoben und dort archiviert.
Im Navigationsbaum sieht das dann folgendermaßen aus:
Das Beispiel für die FlexAction “Archivieren” ist somit abgeschlossen.
3.3.7.3. FlexDrill
Der FlexDrill ist eine kontextabhängige Detailanzeige, welche in Abhängigkeit der aktuellen Position die Anzeige von Detaildaten ermöglicht.
Der FlexDrill kann über die Menüleiste des Anzeigefelds des ProductLine-Tabs, das Icon in der Menüleiste einer Produkttabelle sowie im Kontextmenü der Wertreihenspalte einer Produkttabelle geöffnet werden.
Der FlexDrill muss, wie alle Flex-Features, auf SQL-Ebene konfiguriert werden.
Bei Auswahl des Icons oder der Option “FlexDrill” öffnet sich ein Dialog, welcher im Default-Zustand eine Liste mit Städten (CityCode/CityName), deren Beschreibung und Einwohnerzahl anzeigt.
FlexDrill - Tabelle allgemein | |
Dialogüberschrift |
|
Gruppierung |
|
Suchfeld |
|
Suche in der Spaltenüberschrift |
|
Auf- und absteigend sortieren |
|
Spaltenüberschriften | |
CityCode |
|
CityName |
|
Beschreibung |
|
Einwohnerzahl |
|
Wird der FlexDrill über eine ausgewählte Zelle der Produkttabelle geöffnet, erscheinen in der Menüleiste der Tabelle weitere Optionen:
Flexzelle |
|
Suche nach Flexzelle |
|
Wert löschen |
|
3.3.7.3.1. Beispiel für FlexDrill
Für einen FlexDrill muss eine Prozedur individuell auf SQL-Ebene angepasst werden.
Beispiel einer Anpassung in der Prozedur sx_pf_GET_FlexDrill, um eine Liste zu erzeugen:
IF @ValueSeriesID = 'BEM'
BEGIN
WITH Bemerkungen AS (
SELECT 'Wartung Fenster' AS Bemerkung
UNION ALL
SELECT 'Wartung Türen' AS Bemerkung
UNION ALL
SELECT 'Reinigung Tiefgarage' AS Bemerkung
UNION ALL
SELECT 'Reparatur Aufzug' AS Bemerkung
UNION ALL
SELECT 'Wartung Feuermelder' AS Bemerkung
UNION ALL
SELECT 'Winterdienst' AS Bemerkung
)
SELECT
'Übersicht aller Bemerkungen' AS Hint,
b.Bemerkung,
CASE WHEN EXISTS(
SELECT 1
FROM planning.tfValues V
WHERE v.FactoryID = @FactoryID
AND v.ProductLineID = @ProductLineID
AND v.ProductID = @ProductID
AND v.ValueSeriesID = @ValueSeriesID
AND v.ValueText = b.Bemerkung
) THEN 'Ja' ELSE 'Nein' END AS BemerkungVerwendet
FROM Bemerkungen AS b
ORDER BY Bemerkung;
END
Nachdem auf SQL-Ebene die Prozedur individuell angepasst wurde, kann man diese nutzen, um sich Inhalte auf einer Liste anzeigen zu lassen. Dafür öffnet man z.B. über einen Rechtsklick in die entsprechende Zelle das Kontextmenü der Wertreihenspalte, um FlexDrill auszuwählen.
Es öffnet sich ein Dialog, welcher nur eine Übersicht der mit FlexDrill verknüpften Inhalte anzeigt. Außer der “Suche” und der “Gruppierung der Spaltenüberschriften” können keine Aktionen ausgeführt werden.
Die Anzeige des Dialogs kann bearbeitet werden, bzw. können die Werte auch linksbündig, mittig oder rechtsbündig stehen. Dafür muss auf SQL-Ebene die Prozedur angepasst werden.
Ein Beispiel dafür mit einem SQL-Auszug finden Sie hier: 3.3.7. Flex-Features | 3.3.7.1.2.-Beispiel-für-FlexSearch-mit-veränderter-Anzeige
Das Beispiel für den FlexDrill ist somit abgeschlossen.