My$-Tabellen-Verwaltung

Inhalt

Allgemein

Aufgrund der flexiblen Einsatzmöglichkeiten des POLLEX-LC TaskCenter können in Sonderfällen kundenspezifische Datenbanktabellen zur Abbildung individueller Anforderungen erstellt werden. Diese Tabellen werden immer mit der Kennung „MY$_" im Tabellennamen bezeichnet.

My$-Tabellen können individuell mit allen benötigten Spalten erstellt werden und konnten bisher nur mit Hilfe von Datenbank-Befehlen (SQL) gewartet werden.

Ab TaskCenter Version 4.28.0 gibt es dafür ein übergreifendes Pflege-Fenster für alle vorhandenen My$-Tabellen.


Anlage einer My$-Tabelle per SQL

Oracle

create table my$name (inx decimal(15,0) not null, text1 varchar2 (30), nummer1 decimal (15,0), wert1 decimal (15,3), datum1 date);

Mit diesem Statement wird eine Tabelle mit dem Namen "my$name" mit folgenden Spalten angelegt:

Name

Typ

Länge

Beschreibung

INX

Decimal (Zahlenformat)

15,0 (max. 15 Stellen, keine Nachkommastellen)

"Not null" steht dafür, dass diese Spalte befüllt sein muss. Die Spalte INX wird auch automatisch bei Anlage um 1 erhöht, sofern eine Zeile in der MY$-Tabellenverwaltung angelegt wird.

TEXT1

Varchar2 (Textformat)

30 (max. 30 Zeichen) 


NUMMER1

Decimal (Zahlenformat)

15,0 (max. 15 Stellen, keine Nachkommastellen)


WERT1

Decimal (Zahlenformat)

15,3 (max. 15 Stellen, 3 Nachkommastellen)


DATUM1

Date (Datumsformat)


Hier wird das Standard-Datumsformat inklusive Uhrzeit der Datenbank verwendet.

Nun kann die Tabelle nur vom User, welcher die Tabelle angelegt hat verwaltet werden. Damit jeder User die Tabelle verwalten kann, muss noch ein "Public Synonym" angelegt werden:

create public synonym my$name for my$name;

Am besten ist es wenn die Spalte INX noch UNIQUE gesetzt wird, damit die Einträge eindeutig werden:

alter table my$name add constraint inx unique(inx);


SQL

create table my$name (inx decimal(15,0) not null, text1 varchar (30), nummer1 decimal (15,0), wert1 decimal (15,3), datum1 date);

Mit diesem Statement wird eine Tabelle mit dem Namen "my$name" mit folgenden Spalten angelegt:

Name

Typ

Länge

Beschreibung

INX

Decimal (Zahlenformat)

15,0 (max. 15 Stellen, keine Nachkommastellen)

"Not null" steht dafür, dass diese Spalte befüllt sein muss. Die Spalte INX wird auch automatisch bei Anlage um 1 erhöht, sofern eine Zeile in der MY$-Tabellenverwaltung angelegt wird.

TEXT1

Varchar (Textformat)

30 (max. 30 Zeichen) 


NUMMER1

Decimal (Zahlenformat)

15,0 (max. 15 Stellen, keine Nachkommastellen)


WERT1

Decimal (Zahlenformat)

15,3 (max. 15 Stellen, 3 Nachkommastellen)


DATUM1

Date (Datumsformat)


Hier wird das Standard-Datumsformat inklusive Uhrzeit der Datenbank verwendet.

Nun kann die Tabelle nur vom User, welcher die Tabelle angelegt hat verwaltet werden.

Am besten ist es wenn die Spalte INX noch UNIQUE gesetzt wird, damit die Einträge eindeutig werden:

alter table my$name add constraint inx unique(inx);

TaskCenter-Konfiguration

Im Geschäftsprozesse-Manager kann das Fenster unter dem Namen „SystemSettings.MyTableManager" eingeblendet werden.

Zu finden ist das Fenster in Grundlagen / Vorgabewerte:

worddav82248599229731cb46caa69f9f4c4747.png

Tabellen-Aufbau

Jede MY$-Tabelle kann beliebig viele Spalten enthalten.

Für Tabellen mit Verwaltungs-Funktion, wird dringend empfohlen, mindestens eine Spalte mit Namen „INX" (UNIQUE) anzulegen. Alle UNIQUE-Spalten werden für die WHERE-Bedingung beim Speichern verwendet.

Sind keine UNIQUE-Spalten vorhanden, wird die WHERE-Bedingung über alle in der Tabelle vorhandenen Spalten gebildet.

Beispiel Tabelle MY$OPTIK

Spaltenname

Datentyp

UNIQUE

KURZTEXT

VARCHAR2(254)

JA

LANGTEXT

VARCHAR2(2000)

NEIN

SPRACHE

VARCHAR2(5)

JA

Where-Bedingung: where KURZTEXT=:KURZTEXT and SPRACHE=:SPRACHE

Info: In diesem Fall kann man einen neuen Datensatz mit allen Werten einfügen, aber ändern kann man nur den Langtext, weil die anderen beiden Spalten UNIQUE sind und somit die unveränderliche WHERE-Bedingung bilden.

Beispiel 2 Tabelle MY$VERTRETERZUORDNUNG

Spaltenname

Datentyp

UNIQUE

INX

DECIMAL(15,0)

JA

KUNDENNUMMER

DECIMAL(15,0)

NEIN

HAUPTGRUPPE

VARCHAR2(40)

NEIN

ZAHLUNGSBED

VARCHAR2(30)

NEIN

VERTRETERNUMMER

DECIMAL(15,0)

NEIN

Where-Bedingung: where INX=:INX

Info: Weil die INX-Spalte vorhanden ist, wird diese automatisch bei einem neuen Datensatz vorbefüllt mit max(INX)+1.

Beispiel 3 Tabelle MY$DEMO

Spaltenname

Datentyp

UNIQUE

BEZEICHNUNG

VARCHAR2(20)

NEIN

NUMMER

DECIMAL(15,0)

NEIN

SORTIMENT

VARCHAR2(40)

NEIN

Where-Bedingung: where BEZEICHNUNG=:BEZEICHNUNG and NUMMER=:NUMMER and SORTIMENT=:SORTIMENT

Info: Weil keine UNIQUE-Spalte vorhanden ist, müssen alle Spalten in die WHERE-Bedingung für das Speichern übernommen werden.

Fenster-Aufbau

worddavefa6ed28273451638d09d5afa9fe056d.png

Das Fenster besteht aus der Toolbar, dem Tabellen-Auswahlfeld und der Tabelle. Sobald eine Tabelle im Auswahlfeld ausgewählt wurde, wird die Tabelle im Fenster aktualisiert.

Das Fenster ist designbar, es können also eigene Fensterlayouts erstellt werden.

Toolbar

worddav0bb866e00a84fdbb08454f618d20b773.png

Erstellt eine neue Zeile. Wenn eine Spalte „INX" vorhanden ist, wird der nächsthöhere Wert aus der Tabelle vorgeschlagen (es wird dazu NICHT die Tabelle INDIZES verwendet)

worddav17e7e7ac056b0e1fc62f9064389e6409.png

Löscht die markierte Zeile aus der Tabelle

worddavc2e92d904b79b1e8f66c44f2b1432875.png

Speichert die Daten der aktuell ausgewählten Tabelle in der Datenbank

worddavc1569d0a51c09c91f25e5e21508df247.png

Aktualisiert die Tabelle (alle Daten der Tabelle werden aus der Datenbank neu eingelesen)


Tabellenauswahlfeld

worddav68d6a4a87865e320ebc0da04bd903479.png

Wird die gewünschte My$-Tabelle ausgewählt, so wird die Tabelle im Fenster automatisch befüllt. Die Spaltentitel werden NICHT übersetzt, werden also so wie sie in der Datenbank vergeben wurden angezeigt.

Spalten mit Vorgabewerten

Werden bestimmte Spaltennamen verwendet, sind auch Vorgabewerte möglich.

Aktuell werden folgende Spaltennamen für Vorgabewerte unterstützt:

Spaltenname

Beschreibung

KUNDENNUMMER

KUNDENNR

Kundensuchfenster wird geöffnet. Gleichzeitig wird der eingegebene Wert auch auf Gültigkeit geprüft.

KUNDENNAME

Wenn diese Spalte NICHT in der Tabelle verfügbar ist, wird diese dennoch eingeblendet, wenn eine der Spalten „KUNDENNUMMER" oder „KUNDENNR" verfügbar ist. Die Spalte kooperiert mit den o.g. Spalten. Wert wird auf Gültigkeit geprüft.

KATEGORIE

Vorgabewerte-Fenster für Kategorien wird geöffnet. Wird ein Wert manuell eingegeben, wird die Gültigkeit geprüft.

ZAHLUNGSBEDINGUNG

ZAHLUNGSBED

ZBED

Vorgabewerte-Fenster für Zahlungsbedingungen wird geöffnet. Wird ein Wert manuell eingegeben, wird die Gültigkeit geprüft.

VERTRETERNUMMER

Suchfenster für den Vertreter wird angezeigt. Wird ein Wert manuell eingegeben, wird die Gültigkeit geprüft.


Bearbeiten der Tabelle im Multiflex

Um dies möglich zu machen, ist eine INX Spalte in der MY$ Tabelle notwendig.