|
Letzte
Bearbeitung dieses Dokuments: |
Schnell-Verweise: Mengengerüst und Zugriffshäufigkeit Primärschlüssel und Sekundärindex SQL-Kommandos
Klicken Sie bitte auf den Attributsnamen um zur Detail-Beschreibung zu kommen.
Attribute DataSetID
(PK) |
Fremdschlüsselrelationen |
Die
virtuelleTabelle 'Currency' (Währung) enthält Einträge
für die – in der jeweiligen Installation von HandelsSepp
– erlaubten
Währungen.
In dieser Tabelle kann festgelegt werden, in
welchen Währungen Beträge erfasst werden dürfen.
Die Festlegung, für
welche Bereiche eine bestimmte Währung zugeordnet werden darf,
ist im Attribut MarkerSet
enthalten.
Damit kann
eine Währung als Rechnungswährung für Kunden, als
Preis für ein Produkt oder als Einkaufspreis bei einem
Zulieferer erlaubt oder unterbunden werden.
Dadurch wird die
Möglichkeit einer Fehlbedienung – wie z.B. die Auswahl
einer falschen Währung zu einem Betrag (der in der Leitwährung
kalkuliert wurde) – eingeschränkt.
Die Umrechnung
zwischen Beträgen in verschiedenen Währungen erfolgt über
einen 'Mittelkurs' (MiddleRateToLeadCurrency
)
zur festgelegten Leitwährung (gekennzeichnet durch das Attribut
LeadCurrencyIndicator
).
Zur Information können auch noch der Ankaufs- und Verkaufskurs der Währung gegenüber dem Euro gespeichert werden.
HandelsSepp
ist eine
Standard-Software und die Angabe eines erwarteten Mengengerüstes
kann nicht erfolgen.
Bei der Leistungsfähigkeit von
Personal-Computern ist nicht zu erwarten, dass selbst bei einer
größeren Zahl von Einträgen in der Tabelle ein
Mengen-Problem auftreten wird.
▲
zum
Inhaltsverzeichnis
Als Standard-Software
ist die Zahl der Benutzer einer Installation von HandelsSepp
nicht vorhersagbar.
Aus
diesem Grund ist auch kein 'Durchschnittswert pro Tag'
angegeben.
Nachdem für eine Währung keine Bewegungsdaten
erfasst werden ist nur eine geringe Anzahl von Zugriffen zu erwarten.
Datenbank-Operation |
Durchschnittswert |
Maximalwert |
Hauptgrund der Zugriffe |
SELECT |
keine Angabe |
50 |
Anzeigen der Auswahlliste (Combobox) für die Zuordnung einer Währung zu einem Betrag. |
INSERT |
keine Angabe |
0 |
Erfassen oder Ändern von Daten einer Währung. |
UPDATE |
keine Angabe |
0 |
Ändern von Daten einer Währung. |
DELETE |
keine Angabe |
0 |
Selten ausgeführtes Löschen deaktivierter Datensätze. |
Als
Primärschlüssel wird das Attribut
DataSetID
aus den
Allgemeinen
Attributen (Common Attributes) verwendet.
▲
zum
Inhaltsverzeichnis
Diese
virtuelle Tabelle setzt auf der Datenbank-Tabelle
Parameter
auf
und verwendet deren Sekundär-Index.
Durch die Zuordnung der
Attribute besteht der Index für diese (virtuelle) Tabelle aus
folgenden Attributen:ParameterName
(aufsteigend),
ISOCurrencyCode
(aufsteigend),
LanguageCodeForLabelling
(aufsteigend),
MarkerSet
(aufsteigend)
und
LeadCurrencyIndicator
(aufsteigend).
Zur
Bestimmung des aktuell gültigen Datensatzes sind noch
ClientID
(aufsteigend),
ValidFrom
(absteigend)
und
ValidTill
(aufsteigend)
aus den Allgemeinen
Attributen (Common Attributes) im Sekundär-Index 1
enthalten.
▲
zum
Inhaltsverzeichnis
Eindeutige
Kennung zu welchem Business-Object (BO) der Datensatz gehört.
Für diese virtuelle Tabelle hat dieses Attribut immer den
Wert 'ISOCurrencyCode'.
Zuordung
zu Tabelle und Attribut:
Parameter
>
ParameterName
.
▲
zum
Inhaltsverzeichnis
ISOCurrencyCode
/
WährungsCode
Das
Attribut enthält den ISO-Code für die Währung.
Datentyp
des Attributes in der virtuellen Tabelle:
VARCHAR(250)
– gleich wie das Attribut auf der Tabelle
Parameter
.
Zuordung
zu Tabelle und Attribut:
Parameter
> Value01
.
▲
zum
Inhaltsverzeichnis
LanguageCodeForLabelling
/
Sprach-Code für die Bezeichnung der Währung
Das
Attribut enthält den ISO-Code der Sprache, in der der Name der
Währung (im Attribut
CurrencyName
)
angegeben ist.
Ist der Wert in diesem Attribut eine leere
Zeichenkette, dann gilt der Wert im Attribut CurrencyName
für
alle Sprachen, die nicht explizit definiert sind.
Innerhalb
des Anwendungprogramms ist dafür zu sorgen, dass zu jedem Wert
im Attribut
ISOCurrencyCode
ein
Datensatz existiert, der in diesem Attribut
(
LanguageCodeForLabelling
)
eine leere Zeichenkette als Wert hat.
Datentyp
des Attributes in der virtuellen Tabelle:
VARCHAR(250)
– gleich wie das Attribut auf der Tabelle
Parameter
.
Zuordung
zu Tabelle und Attribut:
Parameter
> Value02
.
▲
zum
Inhaltsverzeichnis
MarkerSet
/
Markierungen für den Verwendungszweck der Währung
Die
Werte in diesem Attribut sind nur gültig, wenn das Attribut
LanguageCodeForLabelling
eine
leere Zeichenkette enthält.
Das
Attribut enthält in komprimierter Form Markierungen (Ja/Nein –
Entscheidungen), ob diese Währung für einzelne
Themenbereiche verwendet werden darf oder nicht.
Dabei ist jede
Markierung ein Zeichen lang und besteht aus den Werten 0
(Nein)
oder
1
(Ja).
Die
Positionen innerhalb der Zeichenkette haben folgende Bedeutungen:
Position
1:
Product
:
Die Währung darf für Beträge bei den Preisen von
angebotenen Produkten verwendet werden.
Position
2:
Customer
:
Die Währung darf für Beträge in Dokumenten
(Lieferschein, Rechnung) an Kunden verwendet werden.
Position
3:
Supplier
:
Die Währung darf für Einkaufspreise bei Zulieferern
verwendet werden.
Datentyp
des Attributes in der virtuellen Tabelle:
VARCHAR(250)
– gleich wie das Attribut auf der Tabelle
Parameter
.
Zuordung
zu Tabelle und Attribut:
Parameter
> Value03
.
▲
zum
Inhaltsverzeichnis
LeadCurrencyIndicator
/
LeitwährungsIndikator
Der
Indikator legt fest, ob diese Währung die Leitwährung
innerhalb einer Installation von
HandelsSepp
ist.
Die
Leitwährung ist jene Währung, auf deren Wert die
Umrechnungskurse von anderen, innerhalb einer Installation von
HandelsSepp
definierten,
Währungen bezogen werden.
In
dem zuständigen Teilprogramm für die Verwaltung der
Währungen muss darauf geachtet werden, dass eine als Leitwährung
definierte Währung nicht deaktiviert (gelöscht) werden kann
und dieser Indikator und die Werte in den Attributen
MiddleRateToLeadCurrency
,
BuyingRateToLeadCurrency
und
SellingRateToLeadCurrency
nicht
verändert werden können.
Die
möglichen Werte sind im zugehörigen Business-Object
festgelegt. Zum Zeitpunkt der Erstellung dieses Dokuments waren
folgende Arten implementiert:
L
(Leitwährung
/ LeadingCurrency):
Diese Währung ist die Leitwährung
innerhalb einer Installation von HandelsSepp
.
N
(Nein
/ No):
Diese Währung ist keine Leitwährung innerhalb
einer Installation von HandelsSepp
und
kann über das zuständige Teilprogramm verwaltet und auch
deaktiviert werden.
Datentyp
des Attributes in der virtuellen Tabelle:
VARCHAR(250)
– gleich wie das Attribut auf der Tabelle
Parameter
.
Zuordung
zu Tabelle und Attribut:
Parameter
>
Value04
.
▲
zum
Inhaltsverzeichnis
Vollständiger
Name der Währung in jener Sprache, die im Attribut
LanguageCodeForLabelling
festgelegt
ist.
Dieser Text ist zur Bezeichnung der Währung vorgesehen –
insbesondere bei Auswahlmöglichkeiten (Combobox).
Datentyp
des Attributes in der virtuellen Tabelle:
TEXT(2040)
– gleich wie das Attribut auf der Tabelle
Parameter
.
Zuordung
zu Tabelle und Attribut:
Parameter
>
Value06
.
▲
zum
Inhaltsverzeichnis
MiddleRateToLeadCurrency
/
MittelkursZuLeitwahrung
Der
Wert in diesem Attribut ist nur gültig, wenn das Attribut
LanguageCodeForLabelling
eine
leere Zeichenkette enthält.
Innerhalb
von
HandelsSepp
verwendeter
Umrechnungskurs zwischen der erfassten Währung und der als
Leitwährung definierten Währung – gekennzeichnet
durch das Attribut
LeadCurrencyIndicator
.
Konkret:
wie viel Einheiten in der erfassten Währung sind für den
Kauf von 1 (in Worten: eine) Einheit der Leitwährung notwendig
bzw. werden für den Verkauf von 1 Einheit der Leitwährung
bezahlt.
Dieser
Wert ist Basis für die Umrechnung von Beträgen zwischen
verschiedenen, in dieser Tabelle erfassten, Währungen.
Datentyp
des Attributes in der virtuellen Tabelle:
BigDecimal
(Java-Klasse);
Die Umwandlung des Wertes vom/zum Typ TEXT auf der
wirklichen Tabelle (Parameter
)
erfolgt in den Java-Klassen in der diese virtuelle Tabelle
implementiert ist.
Zuordung
zu Tabelle und Attribut:
Parameter
>
Value07
.
▲
zum
Inhaltsverzeichnis
BuyingRateToLeadCurrency
/
KaufkursZuLeitwaehrung
Der
Wert in diesem Attribut ist nur gültig, wenn das Attribut
LanguageCodeForLabelling
eine
leere Zeichenkette enthält.
Als
zusätzliche Information erfasster Wert, wie viel Geld in der
erfassten Währung für 1 Einheit der Leitwährung
(definiert durch das Attribut
LeadCurrencyIndicator
)
gekauft werden können.
Im Bankwesen wird dieser
Umrechnungskurs als 'Briefkurs' bezeichnet.
Dieser
Wert dient nur zur Information und hat keine weitere Auswirkung auf
die Verarbeitung innerhalb von
HandelsSepp
.
Datentyp
des Attributes in der virtuellen Tabelle:
BigDecimal
(Java-Klasse);
Die Umwandlung des Wertes vom/zum Typ TEXT auf der
wirklichen Tabelle (Parameter
)
erfolgt in den Java-Klassen in der diese virtuelle Tabelle
implementiert ist.
Zuordung
zu Tabelle und Attribut:
Parameter
>
Value08
.
▲
zum
Inhaltsverzeichnis
SellingRateToLeadCurrency
/
VerkaufskursZuLeitwaehrung
Der
Wert in diesem Attribut ist nur gültig, wenn das Attribut
LanguageCodeForLabelling
eine
leere Zeichenkette enthält.
Als
zusätzliche Information erfasster Wert, wie viel Geld in der
erfassten Währung verkauft werden müssen um 1 Einheit der
Leitwährung (definiert durch das Attribut
LeadCurrencyIndicator
)
zu bekommen.
Im Bankwesen wird dieser Umrechnungskurs als
'Geldkurs' bezeichnet.
Dieser
Wert dient nur zur Information und hat keine weitere Auswirkung auf
die Verarbeitung innerhalb von
HandelsSepp
.
Datentyp
des Attributes in der virtuellen Tabelle:
BigDecimal
(Java-Klasse);
Die Umwandlung des Wertes vom/zum Typ TEXT auf der
wirklichen Tabelle (Parameter
)
erfolgt in den Java-Klassen in der diese virtuelle Tabelle
implementiert ist.
Zuordung
zu Tabelle und Attribut:
Parameter
>
Value09
.
▲
zum
Inhaltsverzeichnis
Mit
diesem Kommando wird bei der Auslieferung von
HandelsSepp
'Euro'
als vorgegebene Währung eingeführt.
Damit ist eine
Währung vorhanden und Beträge können in den einzelnen
Teilprogrammen erfasst werden.
INSERT
INTO Parameter (DataSetID, ClientID, ObjectID, CreatedAt, ChangedAt,
ParameterName, Value01, Value02, Value03, Value04, Value06, Value07,
Value08, Value09)
VALUES (95953213210102, 0, 95953213210102,
'2010-01-01', '2010-01-01', 'ISOCurrencyCode', 'EUR', '', '111', 'L',
'Euro', '1.00', '1.00', '1.00');
Bei
einer Installation
mit mehreren Mandanten
muss
das obige SQL-Kommando je einmal für jede
ClientID
ausgeführt
werden.
Zu
beachten ist dabei, dass auch ein anderer Wert für
DataSetID
und
ObjectID
verwendet
werden muss !
Wenn
die Leitwährung geändert werden soll dann ist folgendes
SQL-Kommando erforderlich:
UPDATE
Parameter SET Value01='
CODE
',
Value06='
Waehrungs-Bezeichnung
'
WHERE
ParameterName='ISOCurrencyCode'
AND
Value04='L';
Dabei
sind die
kursiv
geschriebenen Platzhalter
durch
die gewünschten Werte zu ersetzen.
Wenn
bei der Installation von
HandelsSepp
mehrere
Mandanten vorhanden
sind
und die Leitwährung nur für einen Mandanten geändert
werden soll, dann muss die
ClientID
auch
in die
WHERE
-Clause
aufgenommen werden:
UPDATE
Parameter SET Value01='
CODE
',
Value06='
Waehrungs-Bezeichnung
'
WHERE
ParameterName='ISOCurrencyCode' AND Value04='L' AND ClientID=0
;