Lade...
 

Ortsspezifische Daten (Locales)

Ortspezifische Daten (Locales)

Ortspezifischen Daten (Locales) verwalten regional abhängige Werte:

  • Land, Region
  • Sprache
  • Währungssymbol
  • Darstellung Zahlen, Datum, Zeit, Geldbeträge
  • Zeitzone
  • Sommer / Winterzeit (daylight saving time)
  • Information und Regeln zur Struktur von Telefonnummern
  • Information zu bestimmten Kalendertagen (Feiertag, Arbeitstag, Jahrestag, Termin)

Sie werden durch folgende Klassen dargestellt:

Klassennamen und Kurzbeschreibungen der CX_LOCALE Klassen

CX_COUNTRY_LOCALE

Mit einem CX_COUNTRY_LOCALE Objekt werden alle Informationen für ein Land (Nationalstaat) verwaltet: z.B. Deutschland, Vereinigtes Königreich, Vereinigte Staaten von Amerika, usw. Die Kodierung erfolgt im Feld countryCode nach ISO 3166-1 numerisch. Das Feld localeCode ist alphanumerisch gemäß ISO 3166-1 ISO 3.
 

CX_STATE_LOCALE

Ein CX_STATE_LOCALE Objekt beschreibt die größte Entität innerhalb eines Landes (Bundesland für Deutschland, Kanton in der Schweiz, Staat in den USA ...). Es ist einem CX_COUNTRY_LOCALE Objekt direkt untergeordnet.
State Locales sind z.B. für Deutschland die Bundesländer Bayern, Baden-Württemberg, usw. (kodiert nach dem Amtlichen Gemeindeschlüssel (AGS); für die Vereinigten Staaten von Amerika z.B. die Bundesstaaten Massachusetts, Kalifornien, usw..


CX_LOCALE

Dieses Locale wird zur weiteren Unterteilung von CX_STATE_LOCALE oder auch anderer CX_LOCALE Objekte verwendet, wobei eine beliebig tiefe Schachtelung und somit Unterteilung möglich ist. So kann eine Hierarchie bis auf Stadt-, Stadtteil-, Straßen-, Gebäude- oder auch Büroebene aufgebaut werden. Im Regelfall werden in einem CX_LOCALE-Objekt Daten von Regionen verwaltet.

Das eigene Unternehmen wird im Regelfall auch als CX_LOCALE Objekt abgebildet, um z.B. die Telefondaten (zentrale Rufnummer, Anzahl Nummern Nebenstellen, Nummer für Holen einer Amtsleitung, usw.) oder andere Infrastrukturdaten zu speichern. Es kann auch sinnvoll sein, die Unterteilung sogar bis auf einzelne Abteilungen des Unternehmens auszuweiten, um festzulegen, welche Tage in welchen Abteilungen Werktage sind: So sollen z.B. in der Fertigung (in einigen Wochen) der Samstag und Sonntag als Werktage gelten (notwendige Information für eine automatische Kapazitätsplanung), während dieses für die Mitarbeiter der Verwaltung nicht gelten soll.

Untergeordnete Locales können Werte, die sie nicht selbst definieren, von dem(n) übergeordneten Locale(s) erben.

Die Hierarchie dieser Klassen ist der folgenden Abbildung zu entnehmen:

 cxlocale.png

CX_HOLIDAY
Jedes Locale-Objekt kann mit Objekten der Klasse CX_HOLIDAY Eigenschaften bestimmter Kalendertage festlegen (Feiertag, Ferientag, ...).

CX_DIALLING_RULE
Jedes Locale-Objekt kann mit Objekten der Klasse CX_DIALLING_RULE die Formatierung von Telefonnummern (Filterung der Landes- oder Ortsvorwahl, ...).

Verwalten und Speichern der Locale-Information

Die Unterscheidung in Universal und Custom-Locales wurde aufgegeben. Ein Anwender kann alle Locales erweitern und verändern. Vom Anwender modifizierte Locales werden getrennt von den von ClassiX® bereitgestellten Locales gespeichert.
Locales werden immer als XML-File gespeichert, wobei die Locale-Objekte beliebig um weitere Informationen erweitert werden können (Slots). 
Persistenz der Locales  - Speichern in der Datenbank - wurde aufgegeben.
Laden der Locales vom File LOCALES.TXT wird aus Gründen der Rückwärtskompatibilität weiter unterstützt.

Für das Laden der Locales beim Start des ClassiX®-Systems oder über Methoden wie CX_SYSTEM_OBJECT::GetAllLocales gelten diese Vorrangregeln:

- nach dem mit CX_LOCALE_FILENAME definierten File suche. Standardwert ist CustomLocales.xml
- nach locales.xml suchen
- nach locales.txt suchen

Suche in den System-Foldern - beginnend mit dem projekt-spezifischsten.

Vom Anwender editierte Locales werden mit CX_MASTER_LOCALE::StoreXML gespeichert.
 

Die Umgebungsvariablen CX_COUNTRY, CX_STATE und CX_REGION

Beim Start des Systems kann ein Locale fest vorgegeben werden. Dazu muss über Umgebungsvariablen das gewünschte Locale spezifiziert sein. Dieses geschieht über die nachfolgend beschriebenen drei Schlüsselwörter.

Soll z.B. die Region "002" (Bezirk Hamburg Altona) im Bundesland "006" (Hamburg) des Landes "049" (Deutschland) ausgewählt werden, so müssen folgende Umgebungsvariablen gesetzt sein:

CX_COUNTRY=049

CX_STATE=006

CX_REGION=002

(Natürlich müssen diese Locales definiert sein - siehe oben!)

Der Wert für ein Land (CX_COUNTRY) und ein Bundesland (CX_STATE) kann zwischen 0 und 255 liegen, die Codierung für eine Region kann hingegen beliebig lang angegeben werden, da die Schachtelung von Regionen nicht begrenzt ist. Die einzelnen Regionen-Codes sind dabei wiederum numerisch und werden durch ein ';' voneinander getrennt. Soll z.B. die Region "004" (Hamburg Blankenese) innerhalb der oben erwähnten Region "002" (Bezirk Hamburg Altona) ausgewählt werden, so sieht der Eintrag für die Umgebungsvariablen folgendermaßen aus:

CX_COUNTRY=049

CX_STATE=006

CX_REGION=002;004

Sollen nur Landes- oder Bundeslandinformationen geladen werden, brauchen keine CX_REGION Angaben gemacht zu werden. Wird keines der Schlüsselwörter angegeben, wird die Landesinformation des Rechners dazu benutzt, das entsprechende Land (falls definiert) zu laden.

Nach dem Start des Systems kann mit der Funktion SetLocaleByName jede beliebige Ortinformation nachgeladen werden. Mit der Funktion CreateSublocales kann die Locale-Hierarchie ab einem bestimmten Locale neu aufgebaut werden.