Lade...
 

CX_COUNTRY_LOCALE - Landesspezifische Daten

CX_COUNTRY_LOCALE

Klassenhierarchie
Beschreibung:

Mit einem Country-Locale werden alle landesspezifischen Informationen verwaltet. Standardmäßig sind die Einstellungen für die USA implementiert.

Soll in der Locales-Datei (siehe auch

CX_LOCALE_FILENAME) ein neues Land aufgenommen werden, so muss der Eintrag mit dem Schlüsselwort "COUNTRY" beginnen. Daraufhin folgen die Definitionen der einzelnen Informationen, wobei nur die von den USA abweichenden aufgenommen werden müssen. Dieses gilt nicht für den countryCode, der zwingend angegeben werden muss. Die folgende Aufführung zeigt alle Informationen, die in einem Country-Locale enthalten sind, und wie die Standard-Einstellung aussieht. Die Angabe in der Locales-Datei erfolgt dabei durch den Feldnamen gefolgt von einem "=" und der gewünschten Einstellung. Alle Einstellungen, die in Anführungszeichen stehen, stellen dabei Strings dar, wobei deren Länge beliebig ist, so dass z.B.

die Definition für das Minuszeichen nicht nur aus einem Zeichen bestehen muss.

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
NewHoliday OBJECT neuen Feiertag hinzufügen
RemoveHoliday   OBJECT löscht einen Feiertag
SortedHolidays   COLL liefert alle Feiertage in aufsteigend sortierter Reihenfolge 
AllHolidayObjects   (OBJECT, OBJECT, INTEGER) COLL liefert alle Feiertagen in einem Zeitraum 
BaseCentury     INTEGER liefert aktuelles Jahrhundert 
BaseCenturyMA *     Aktuelles Jahrhundert Ein/Ausgabe
CodeMap     INTEGER liefert  die Zeichenumsetztabelle 
CodeMapMA *     Zeichenumsetztabelle Ein/Ausgabe
Country     STRING liefert die Landesname
CountryCode     INTEGER liefert einen Landescode
CountryCodeMA *     der Landescode Ein/Ausgabe
CountryMA *     Landesname Ein/Ausgabe
CurrencyUnitPrecedes     INTEGER Zeigt mit Hilfe eines Wahrheitswertes an, ob eine Währungs-Einheit vor dem Wert oder nach dem Wert angezeigt werden soll. Steht der Wert auf 1 wird die Einheit vor dem Wert angezeigt.
CurrencyUnitPrecedesMA *     Position einer Währungs-Einheit Ein/Ausgabe.
CurrencyUnitSeparation     INTEGER Zeigt mit Hilfe eines Wahrheitswertes an, ob zwischen einer Währungs-Einheit und dem Wert (egal in welcher Reihenfolge) ein Leerzeichen angezeigt werden soll.
CurrencyUnitSeparationMA *     Leerzeichen zwischen einer Währungs-Einheit Ein/Ausgabe
DateFormat     INTEGER liefert das aktuelle Datumsformat
DateFormatMA *     Datumsformat Ein/Ausgabe
DateSeparator     STRING liefert das Trennzeichen für ein Datum
DateSeparatorMA *     Trennzeichen für ein Datum Ein/Ausgabe
DecimalSeparator     STRING liefert das Trennzeichen für Dezimalzahlen
DecimalSeparatorMA *     Trennzeichen für Dezimalzahlen Ein/Ausgabe
DiallingPrefix     STRING  - veraltet/ deprecated -
DiallingPrefixMA *      - veraltet/ deprecated -
EndTimeZone     INTEGER liefert die Endzeitzone des Landes in Minutenabweichung von der MEZ  
EndTimeZoneMA *     Endzeitzone des Landes Ein/Ausgabe
FirstDayOfWeek     INTEGER liefert der erste Tag der Woche
FirstDayOfWeekMA *     Erster Tag der Woche Ein/Ausgabe
FractionSeparator     STRING liefert das Trennungszeichen für Zähler und Nenner bei Brüchen
FractionSeparatorMA *     Trennungszeichen für Zähler und Nenner bei Brüchen Ein/Ausgabe
Grouping     STRING liefert das Formatierungszeichen, die angeben, nach wie viel Stellen ein Tausendertrenner in eine Zahl eingefügt wird
GroupingMA *     Formatierungszeichen für Tausendertrenner in eine Zahl Ein/Ausgabe
InsertHoliday     OBJECT neuen Feiertag einfügen 
IntCurrencySymbol     STRING liefert das internationale Währungssymbol
IntCurrencySymbolMA *     Internationales Währungssymbol Ein/Ausgabe
IsAnniversary    (OBJECT) INTEGER testet, ob ein Tag ein Gedenktag ist 
IsDateType    (OBJECT, INTEGER) INTEGER testet, ob es sich bei einem Datum um einen speziellen freien Tag handelt
IsHoliday    (OBJECT) INTEGER testet, ob ein Tag ein Feiertag ist 
IsTerm   (OBJECT) INTEGER testet, ob ein Tag ein Termin ist 
IsVacation   (OBJECT) INTEGER testet, ob ein Tag ein Ferientag ist 
Language     MLSTRING liefert der Name der Sprache als multipler String
LanguageMA *     Name der Sprache Ein/Ausgabe
LanguagePos     INTEGER liefert die Systemnummer der Landessprache 
LanguagePosMA *     Systemnummer der Landessprache Ein/Ausgabe
LocaleCode     STRING liefert die Abkürzung des  Landesnamen
LocaleCodeMA *     Abkürzung des  Landesnamen Ein/Ausgabe
LocaleName STRING aktuelle Localname (Landesname)
MLLocaleName MLSTRING aktuelle Localname ( Landesname) als mehrsprachigen Text
MLSpecialNameOfDay   (OBJECT, INTEGER) MLSTRING liefert  einen bestimmten mehrsprachigen (Feiertags-) Namen des Tages eines Datums
NegativeSign     STRING liefert das Minuszeichen
NegativeSignMA *     Minuszeichen Ein/Ausgabe 
NegSignPrecedes     INTEGER Zeigt mit Hilfe eines Wahrheitswertes an, ob das Minuszeichen vor der Zahl steht. Falls nicht, so steht es dahinter. 
NegSignPrecedesMA *     die Position des Minuszeichens Ein/Ausgabe 
NegSpaceSeparation     INTEGER Zeigt mit Hilfe eines Wahrheitswertes an, ob zwischen dem Vorzeichen und der Zahl eine Leerstelle liegen soll 
NegSpaceSeparationMA *     eine Leerstelle zwischen dem Vorzeichen und der Zahl Ein/Ausgabe 
NonCurrencyUnitPrecedes     INTEGER Zeigt mit Hilfe eines Wahrheitswertes an, ob eine Nicht-Währungs-Einheit vor oder nach dem Wert eines CX_VALUEs angezeigt werden soll. Steht der Wert auf 1 wird die Einheit vor dem Wert angezeigt.
NonCurrencyUnitPrecedesMA *     Position einer Nicht-Währungs-Einheit eines CX_VALUEs. Ein/Ausgabe.
NonCurrencyUnitSeparation     INTEGER Zeigt mit Hilfe eines Wahrheitswertes an, ob zwischen einer nicht-Währungs-Einheit und dem Wert (egal in welcher Reihenfolge) eines CX_VALUEs ein Leerzeichen angezeigt werden soll.
NonCurrencyUnitSeparationMA *     Steuert Leerzeichen zwischen dem Wert und einer Nicht-Währungs-Einheit eines CX_VALUEs
NumPrecision     INTEGER liefert die Anzahl an Nachkommastellen 
NumPrecisionMA *     Anzahl an Nachkommastellen Ein/Ausgabe
PathOfLocale     COLL den kompletten Pfad eines Locales 
PositiveSign     STRING liefert das Pluszeichen
PositiveSignMA *     Pluszeichen Ein/Ausgabe
PosSignPrecedes     INTEGER Zeigt mit Hilfe eines Wahrheitswertes an, ob das Pluszeichen vor der Zahl steht. Falls nicht, so steht es dahinter.
PosSignPrecedesMA *     die Position des Pluszeichens Ein/Ausgabe 
PosSpaceSeparation     INTEGER Zeigt mit Hilfe eines Wahrheitswertes an, ob zwischen dem Vorzeichen und der Zahl eine Leerstelle liegen soll
PosSpaceSeparationMA *     eine Leerstelle ob zwischen dem Vorzeichen und der Zahl Ein/Ausgabe 
RawHolidays     COLL liefert alle Feiertage  
SpecialNameOfDay     (OBJECT, INTEGER) STRING liefert einen bestimmten mehrsprachigen (Feiertags-) Namen des Tages eines Datums 
string   INTEGER CX_STRING Liefert die String-Darstellung des Objektes
SummerWinterChangeDate     INTEGER liefert der Monat, in dem von Sommer- auf Winterzeit umgestellt wird 
SummerWinterChangeDayDescription     INTEGER liefert der Wochentag, an dem die Umstellung von Sommer- auf Winterzeit stattfindet 
SummerWinterChangeTime     STRING liefert die Umstellzeit von Sommer- auf Winterzeit 
ThousandsSeparator     STRING liefert das Trennzeichen für tausender Stellen
ThousandsSeparatorMA *     Trennzeichen für tausender Stellen Ein/Ausgabe
TimeFormat     INTEGER liefert das Zeitformat
TimeFormatMA *     Zeitformat Ein/Ausgabe
TimeSeparator     STRING liefert das Trennzeichen für eine Zeitangabe
TimeSeparatorMA *     Trennzeichen für eine Zeitangabe Ein/Ausgabe
TimeZone     INTEGER liefert die Startzeitzone des Landes in Minutenabweichung von der MEZ
TimeZoneMA   *     Startzeitzone des Landes in Minutenabweichung von der MEZ Ein/Ausgabe
UnknownPartOfDate     STRING liefert das Zeichen für unbekannte Bestandteile eines unvollständigen Datums
UnknownPartOfDateMA *     Zeichen für unbekannte Bestandteile eines unvollständigen Datums Ein/Ausgabe
WinterSummerChangeDate     INTEGER liefert der Monat, in dem von Winter- auf Sommerzeit umgestellt wird 
WinterSummerChangeDayDescription     INTEGER liefert der Wochentag, an dem die Umstellung von Winter- auf Sommerzeit stattfindet 
WinterSummerChangeTime     STRING liefert die Umstellzeit von Winter- auf Sommerzeit 
WorkingDays       INTEGER liefert die Arbeitstage des Landes
WorkingDaysMA   *     Arbeitstage des Landes Ein/Ausgabe

Datenverzeichnis (DDI)
Feld Typ Bedeutung Beispiel
countryCode ENUMSHORT Landescode numerisch nach ISO 3166-1 numerisch 276 für Deutschland
localeCode STRING Landescode alphanumerisch nach ISO 3166-1 3alpha "DEU" oder "USA"
language MLSTRING Name der Sprache als multipler String T("English")
languagePos CHAR Index der Landessprache 1
name MLSTRING Bezeichnung des Landes als multipler String T("USA")
codeMap CHAR Zeichenumsetztabelle 850
diallingPrefix STRING - veraltet/deprecated - DIALTRANSLATIONTABLE benutzen
decimalSeparator STRING Trennzeichen für Dezimalzahlen "."
thousandsSeparator STRING Trennzeichen für tausender Stellen ","
grouping STRING Formatierungszeichen, die angeben, nach wie viel Stellen ein Tausendertrenner in eine Zahl eingefügt wird "\3"
positiveSign STRING Pluszeichen "+"
posSignPrecedes CHAR Gibt mit Hilfe eines Wahrheitswertes an, ob das Pluszeichen vor der Zahl steht. Falls nicht, so steht es dahinter. 1
posSpaceSeparation CHAR Gibt mit Hilfe eines Wahrheitswertes an, ob zwischen dem Vorzeichen und der Zahl eine Leerstelle liegen soll 0
negativeSign STRING Minuszeichen "-"
negSignPrecedes CHAR Gibt mit Hilfe eines Wahrheitswertes an, ob das Minuszeichen vor der Zahl steht. Falls nicht, so steht es dahinter. 1
negSpaceSeparation CHAR Gibt mit Hilfe eines Wahrheitswertes an, ob zwischen dem Vorzeichen und der Zahl eine Leerstelle liegen soll 0
nonCurrencyUnitPrecedes CHAR Gibt mit Hilfe eines Wahrheitswertes an, ob eine nicht-Währungs-Einheit vor dem Wert oder nach dem Wert angezeigt werden soll. Steht der Wert auf 1 wird die Einheit vor dem Wert angezeigt. 0
nonCurrencyUnitSeparation CHAR Gibt mit Hilfe eines Wahrheitswertes an, ob zwischen einer nicht-Währungs-Einheit und dem Wert (egal in welcher Reihenfolge) ein Leerzeichen angezeigt werden soll. 1
currencyUnitPrecedes CHAR Gibt mit Hilfe eines Wahrheitswertes an, ob eine Währungs-Einheit vor dem Wert oder nach dem Wert angezeigt werden soll. Steht der Wert auf 1 wird die Einheit vor dem Wert angezeigt. 0
currencyUnitSeparation CHAR Gibt mit Hilfe eines Wahrheitswertes an, ob zwischen einer Währungs-Einheit und dem Wert (egal in welcher Reihenfolge) ein Leerzeichen angezeigt werden soll. 1
numPrecision CHAR Anzahl an Nachkommastellen 2
fractionSeparator STRING Trennungszeichen für Zähler und Nenner bei Brüchen "/"
intCurrencySymbol STRING Internationales Währungssymbol "USD"
dateFormat CHAR Datumsformate:
0 (MM.TT.JJJJ),
1 (TT.MM.JJJJ)  und 
2 (JJJJ.MM.TT)
0
dateSeparator STRING Trennzeichen für ein Datum "/"
firstDayOfWeek CHAR Erster Tag der Woche: 1 = Sonntag, 2 = Montag 2
baseCentury SHORT Aktuelles Jahrhundert 19
unknownPartOfDate STRING Zeichen für unbekannte Bestandteile eines unvollständigen Datums "?"
timeFormat STRING Zeitformat: 0 = 12 Std., 1 = 24 Std. 0
timeSeparator STRING Trennzeichen für eine Zeitangabe "."
timeZone SHORT Startzeitzone des Landes in Minutenabweichung von der MEZ -720
endTimeZone SHORT Endzeitzone des Landes in Minutenabweichung von der MEZ   -300
workingDays CHAR Arbeitstage des Landes:
0 = undefiniert,
1 = Montag,
2 = Dienstag,
4 = Mittwoch,
8 = Donnerstag,
16 = Freitag,
32 = Samstag,
64 = Sonntag
0
day1 SHORT Wochentag, an dem die Umstellung von Winter- auf Sommerzeit stattfindet 429
pos1 SHORT lfd. Nr. dieses Wochentags im Monat 1
gran1 SHORT Bezugsbereich 1
freq1 SHORT Frequenz 0
date1 INTEGER Monat, in dem von Winter- auf Sommerzeit umgestellt wird 4
changeTime1 STRING Umstellzeit von Winter- auf Sommerzeit "2.00 - 3.00"
day2 SHORT Wochentag, an dem die Umstellung von Sommer- auf Winterzeit stattfindet 429
pos2 SHORT lfd. Nr. dieses Wochentags im Monat 99
gran2 SHORT Bezugsbereich 1
freq2 SHORT Frequenz 0
date2 INTEGER Monat, in dem von Sommer- auf Winterzeit umgestellt wird 10
changeTime2 STRING Umstellzeit von Sommer- auf Winterzeit "3.00 - 2.00"
accessCode STRING Eigene Telefonnummer im internationalen Format; dieser Eintrag MUSS vorhanden sein!
Hier ist soviel einzutragen, wie bekannt ist, also für Länder der Countrycode, für Städte zusätzlich die Vorwahl usw.
"+1-"
weitere Beispiele: "+49-", "+49-40-", "+49-40-209401-" für Land, Stadt und Firma
dialingTone STRING Code zur Amtsholung ""
Beispiel: "0", falls eine 0 gewählt werden muss, um eine Amtsleitung zu bekommen
maxLengthOfExtension SHORT Maximale Länge der Durchwahlen im eigenen Betrieb 0
Dient der Unterscheidung zwischen internen und externen Anrufen
Beispiel: Bei zweistelligen Durchwahlen ist hier eine 2 anzugeben
DIALTRANSLATIONTABLE Start der Umsetzungstabelle
ENDDIALTRANSLATIONTABLE Ende der Umsetzungstabelle
upperLocale REL_1M übergeordneten Locale
sublocales REL_M1 untergeordneten Locale
sysLocale STRING Locale der C-Standard Lib.

Verwendung in AppsWH
Modul Kurzbeschreibung
locales.mod Ortsspezifische Daten Editiermodul
setlocal.mod Ortsauswahl Basismodul
wrldclck.mod Weltuhr Basismodul

 

Die Umstellzeitpunkte von Winter- auf Sommerzeit und umgekehrt sind als periodisches

Datum codiert. In der Standardeinstellung wird am ersten Sonntag im April um 2.00 Uhr um eine Stunde vor auf Sommerzeit umgestellt, während am letzten Sonntag im Oktober um 3.00 Uhr eine Stunde zurück auf Winterzeit umgestellt wird. Zusätzlich hierzu können für ein Land auch noch landesweite Feiertage

festgelegt werden.

Die Angaben unter "accessCode" und

"DIALTRANSLATIONSTABLE" werden an untergeordnete Locales vererbt. Das heißt in der Praxis, dass diese Daten, die für das COUNTRY Deutschland konfiguriert wurden, auch für die Bundesländer gelten. Sobald bei einer Sub-Locale der accessCode oder die Umsetzungstabelle definiert sind, ersetzen

sie die geerbten Daten.

Umsetzungstabelle

Die Umsetzungstabelle enthält die Einträge, um eine Telefonnummer in

internationaler Form so umzuwandeln, dass sie anschließend an dem lokalen Telefon eingetippt werden kann und der gewünschte Anschluss erreicht wird. Die Tabelle muss sich zwingend vor den HOLIDAYS oder dem nächsten COUNTRY-, STATE- oder REGION-Abschnitt befinden! Eine leere oder nicht vorhandene Tabelle hat

eine fehlerhafte Interpretation von Telefonnummern zur Folge.

Auf eine Zeile kommt jeweils ein Eintrag. Jeder Eintrag hat die Form "x y", wobei x der Teil ist, der von der Nummer ersetzt werden soll, und y der Teil ist, der stattdessen eingefügt wird. Beispiel für eine solche Tabelle:

+49-40-209401-
+49-40-
+49- 0
+ 00

Der lokale Telefonapparat befindet sich in den Geschäftsräumen der Firma

ClassiX®. Soll die Nummer +49-40-209401-12 gewählt werden, wird der Teil "+49-40-209401-" durch "" (nichts) ersetzt. Übrig bleibt die 12. Wird diese gewählt, wird der Nebenanschluss 12 erreicht. Soll

+49-341-9733333 gewählt werden, wird die Tabelle so lange abarbeitet, bis der

erste Treffer gefunden ist. Hier stimmt es erst bei +49-  überein. Dieser Teil wird durch 0 ersetzt und es bleibt 0341-9733333 übrig. Bei internationalen Nummern (Landescode ungleich 49) würde das + durch 00 ersetzt werden, was aus

+1-222-333-4444 hier 001-222-333-4444 machen würde.

Beispiele:

Geschäftsräume Firma ClassiX®:

DIALTRANSLATIONTABLE
+49-40-209401-
+49-40-
+49- 0
+ 00
ENDDIALTRANSLATIONTABLE

 

Anschlüsse in der Uni Leipzig:

DIALTRANSLATIONTABLE
+49-341-97-
+49-341-
+49- 0
+ 00
ENDDIALTRANSLATIONTABLE

 

US-amerikanischer Standort:

DIALTRANSLATIONTABLE
+1-222-
+1- 1-
+ 011-
ENDDIALTRANSLATIONTABLE

(Dieser Standort hat keine Nebenstellenanlage, daher ist der Eintrag mit der eigenen Rufnummer unnötig.)