<< Click to Display Table of Contents >> Navigation: Background Services > SMS Versand > Nummer normalisieren |
Beim Versand erwarten die Provider die Empfängernummer im „sauberen“ Format. Da in der Praxis die Empfängernummern häufig aus manuell gepflegten Quellen stammen, wird empfohlen, die Nummer zu „normalisieren“. In jeder Providerinstanz-Maske, in der die providerspezifischen Attribute konfiguriert werden, gibt es über den Reiter „Nummer normalisieren“ zwei Möglichkeiten: „Standard-Routine benutzen“ und „Benutzerdefinierte Normalisierung“.
Standard-Routine benutzen
Es wird empfohlen, diese Option zu nutzen. Die Regeln sind praxisorientiert.
Zusätzlich können Sie den „Default Country Calling Code“ vergeben, falls die Nummer mit einer 0 beginnt.
Benutzerdefinierte Normalisierung
Wenn die Standard-Routine nicht alle Ihre Nummern richtig normalisiert, können Sie eigene Routinen über T-SQL schreiben, die für jede Nummer ausgeführt wird.
Wenn die Standard-Routine aktiviert ist, wird zuerst das T-SQL-Script ausgeführt und danach das Ergebnis an die Standard-Routine geschickt.
Beispiel: In Ihrer Datenbank haben Sie häufig Nummern wie (0172) 123-4567
Die Standardroutine würde die Klammern, Leerstellen und den Bindestrich entfernen und das Ergebnis wäre 1721234567, Ziel ist aber +491721234567
T-SQL-Script, um solche Fälle abzufangen:
set @orig_number = ltrim(@orig_number) -- @orig_number darf geändert werden if left(@orig_number,1) = '(' -- beginnt mit ( begin declare @p2 int set @p2 = charindex(')', @orig_number) if @p2 > 1 -- enthält ) begin set @orig_number = '49' -- fix + substring(@orig_number,2, @p2 - 2) -- Nummer von Klammern + substring(@orig_number,6,999) -- Rest nach Klammern end end select @orig_number -- immer Recordset zurückgeben!
|
Das T-SQL-Script generiert "49172 123-4567", die Standard-Routine entfernt die Leerstellen und den Bindestrich. Ergebnis wie gewünscht "+491721234567"