LetterShop Kommunikationskanal Konfigurationsdatei
Diese Konfigurationsdatei enthält Einstellungen
welche einem spezifischen Kommunikationskanal zugewiesen sind. Diese
Spezifikation beschreibt den Aufbau einer LS-Job-Config-Datei. Diese
LS-Job-Config-Datei enthält alle Einstellungen für ein LS-Job.
Bitte beachten Sie, dass die Reihenfolge der
Elemente mit der Reihenfolge in der Schemadefinition übereinstimmen
muss. Optional heisst, dass das entsprechende Element in der
XML-Datei fehlen darf.
XML Element |
Feldtyp |
Optional |
Beschreibung |
LS-Job |
ELEMENT |
Nein |
Jede LS-Job-Config-Datei enthält genau ein Element vom
Typ LS-Job.
Sind mehrere Elemente vorhanden, wird nur das erste Element
verwendet. |
LS-Job-Config |
ELEMENT |
Nein |
Dieses Element enthält alle
Einstellungen für einen LS-Job |
Name |
string |
Ja |
Bezeichnung der Konfiguration |
Mode |
string |
Ja |
Verarbeitungsmodus Mögliche Werte sind:
Test
Production |
LS-Modus |
string |
Ja |
Mit dieser Einstellung wird der Verarbeitungsmodus von
Lettershop gesteuert, unabhängig von der Lizenz, diese wird
übersteuert und nur verwendet, wenn dieses Attribut fehlt.
Folgende Einstellungen sind möglich
AZD = die Adresse wird mittels SortTreeReader zur
Bezirkssuche verwendet.
IHS = die Person wird mittels IHS zur Bezirkssuche
verwendet.
Wenn dieses Attribut nicht vorhanden ist, wird der IHS-Modus
durch eine vorhandene IHS-Lizenz aktiviert, andernfalls ist
der AZD-Modus aktiv. |
BezirksstrukturUPOC |
string |
Ja |
UPOC der Bezirksstruktur. Falls nicht vorhanden, wird
Standard-Bezirksstruktur verwendet. |
AddTimeStampToOrder |
boolean |
Ja |
Auftragskennung mit Datum / Zeit der
Verarbeitung ergänzen (true/false) |
AddressProcessing |
string |
Ja |
Art der Adressuche. Wenn nicht angegeben, dann genau.
Mögliche Werte sind:
Ungenau
Genau |
AddressCorrection |
boolean |
Ja |
Adresskorrektur verwenden
(true/false). Bei Adresskorrektur wird die korrigierte
Adresse in die Output-Datei geschrieben. Wenn nicht
angegeben, dann true |
DelPreviousItems |
boolean |
Ja |
Sendungen aus gleichem LS-Job löschen (true/false).
Kunde und Auftragskennung muss gleich und Sendungen dürfen
nicht verrechnet sein.
Wenn nicht angegeben, dann true. |
InputTransformationRule |
GUID |
Ja |
GUID der zu verwendenden Transformation-Rule für die
Input-Datei |
OutputTransformationRule |
GUID |
Ja |
GUID der zu verwendenden Transformation-Rule für die
Output-Datei |
InputScriptName |
string |
Ja |
Name des Input-Scripts. Wenn nicht
angegeben, wird kein Script ausgeführt. |
ValidateScriptName |
string |
Ja |
Name des Validierungs-Scripts. Wenn nicht angegeben,
wird kein Script ausgeführt. |
ProcessScriptName |
string |
Ja |
Name des Prozess-Scripts. Wenn nicht
angegeben, wird kein Script ausgeführt. |
GroupingScriptName |
string |
Ja |
Name des Gruppierungs-Scripts. Wenn nicht angegeben,
wird kein Script ausgeführt. |
BundlingScriptName |
string |
Ja |
Name des Bündelungs-Scripts. Wenn
nicht angegeben, wird kein Script ausgeführt. |
OutputScriptName |
string |
Ja |
Name des Output-Scripts. Wenn nicht angegeben, wird kein
Script ausgeführt. |
DeliverScriptName |
string |
Ja |
Name des Versand-Scripts. Wenn nicht
angegeben, wird kein Script ausgeführt. |
EndScriptName |
string |
Ja |
Name des Abschluss-Scripts. Wenn nicht angegeben, wird
kein Script ausgeführt. |
ManualCheck |
boolean |
Ja |
Manuelle Kontrolle / Bearbeitung
einschalten (true/false). Wenn nicht angegeben, dann false |
DeliveryDocumentReportName |
string |
Ja |
Profil-Name des Reports für die Versandpapiere.
Es können mehrere Profil-Namen definiert werden. Die Reports
werden einzeln aufgerufen.
Wenn nicht angegeben, werden keine Versandpapiere
ausgegeben. |
GroupConfig |
ELEMENT |
Ja |
Dieses Element enthält alle
Einstellungen für die Gruppierung von Sendungen innerhalb
eines LS-Jobs |
Name |
string |
Ja |
Bezeichnung der Gruppe |
GroupingAttribute |
string |
Ja |
Attribut für die Gruppierung |
SortingAttribute |
string |
Ja |
Attribut für die Sortierung. Wenn
das Attribut leer ist, wird die Standardsortierung nach
Zeilennummer aufsteigend verwendet.
Die Sortierattribute sind wie die ORDER BY Regel eines
SQL-Querys anzugeben (Die Syntax enspricht der Microsoft
SQL-Syntax ab SQL-Server V2008), es können maximal die im
Metalayer von Lettershop verwendeten Attribute eingesetzt
werden, dass sind die folgenden:
strUPOC
strUserID
strAdresse
strLand
strPLZ
strOrt
strStrasse
strHausNr
strName
lKKSID
strKKSUPOC
lLeistungID
strLeistungUPOC
lGewicht
eFormat
fCreateSBB
strAuftragskennung
dtAuftrag
dtPlanzustellung
dtProduktion
lVorausverfuegung
lExternePartnerID
lBezirkstrukturID
lBezirkID
strBezirkUPOC
strDLZoneUPOC
lHausID
strSortInfo
strZustellInfo
lArtikelID
strArtikelUPOC
curPorto
strEventHint
strDienstleisterUPOC
strZielcode
strSIx
lErrorCode
strError
eStatus
strInputLine
strOrdersplit
strFileName
Beispiel:
strAuftragskennung ASC,
dtProduktion DESC |
SortOrder |
string |
Nein |
Sortierreihenfolge (aufsteigend /
absteigend). Diese Option wird zurzeit nicht verwendet, muss
aber ausgefüllt sein. Mögliche Werte sind:
asc
desc |
Splitting |
string |
Ja |
Eigene Output-Dateien für diese
Gruppe erstellen (true/false). Wenn nicht angegeben, dann
false |
SplittingFileName |
string |
Ja |
Definition der Dateinamen der
Output-Dateien, wenn gesplittet. Wenn nicht angegeben, dann
wird eine fortlaufende Nummer angehängt. |
BundlingConfig |
ELEMENT |
Ja |
Dieses Element enthält alle
Einstellungen für die Gruppierung von Sendungen innerhalb
eines LS-Jobs |
Name |
string |
Ja |
Bezeichnung der Bündelung |
Criteria |
string |
Ja |
Kriterium, welches erfüllt sein
muss, damit Bündelungs-Einstellungen angewandt werden.
Wenn kein Kriterium angegeben, dann werden
Bündelungs-Einstellungen immer angewendet. |
BundlingAttribute |
string |
Ja |
Attribut für die Bündelung. |
minQuantity |
integer |
Ja |
Minimale Menge für Bündel. Wenn
nicht angegeben, dann 0 |
maxQuantity |
integer |
Ja |
Maximale Menge für Bündel. Wenn
nicht angegeben, dann unbeschränkt |
maxWeight |
integer |
Ja |
Maximales Gewicht für Bündel in kg.
Wenn nicht angegeben, dann unbeschränkt |
AddSeparationRecord |
boolean |
Ja |
Datensatz für Trennbrief anlegen
(true/false. Wenn nicht angegeben, dann false |
SeparationRecord |
string |
Ja |
Definition für Trennbrief-Datensatz. |
Anbei folgt die XML Schemadefinition:
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:documentation>
Diese Spezifikation beschreibt den Aufbau einer LS-Job-Config-Datei.
Diese LS-Job-Config-Datei enthält alle Einstellungen für
ein LS-Job.
</xs:documentation>
</xs:annotation>
<xs:element name="LS-Job">
<xs:annotation>
<xs:documentation>
Jede LS-Job-Config-Datei enthält genau ein Element vom Typ LS-Job.
Sind mehrere Elemente vorhanden, wird nur das erste Element
verwendet.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="LS-Job-Config">
<xs:annotation>
<xs:documentation>Dieses Element enthält alle Einstellungen für
einen LS-Job</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<!-- LS-Job-Einstellungen -->
<xs:element name="Name" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Optionale Bezeichnung der
Konfiguration</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Mode" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Verarbeitungsmodus</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Test"/>
<xs:enumeration value="Production"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LS-Modus" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Lettershop Modus</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="AZD"/>
<xs:enumeration value="IHS"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BezirksstrukturUPOC" type="UPOCType" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Optionaler UPOC der Bezirksstruktur. Falls nicht
vorhanden, wird Standard-Bezirksstruktur
verwendet.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AddTimeStampToOrder" type="BoolType" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Auftragskennung mit Datum / Zeit der Verarbeitung
ergänzen (true/false)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AddressProcessing" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Art der Adressuche. Wenn nicht angegeben, dann
genau</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Genau"/>
<xs:enumeration value="Ungenau"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AddressCorrection" type="BoolType" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Adresskorrektur verwenden (true/false). Bei
Adresskorrektur wird die korrigierte Adresse in die Output-Datei
geschrieben. Wenn nicht angegeben, dann true</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DelPreviousItems" type="BoolType" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
Sendungen aus gleichem LS-Job löschen (true/false).
Kunde und Auftragskennung muss gleich und Sendungen dürfen nicht
verrechnet sein.
Wenn nicht angegeben, dann true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InputTransformationRule" type="GUIDType"
minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>GUID der zu verwendenden Transformation-Rule für
die Input-Datei</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OutputTransformationRule" type="GUIDType"
minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>GUID der zu verwendenden Transformation-Rule für
die Output-Datei</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InputScriptName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Name des Input-Scripts. Wenn nicht angegeben, wird
kein Script ausgeführt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ValidateScriptName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Name des Validierungs-Scripts. Wenn nicht
angegeben, wird kein Script ausgeführt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessScriptName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Name des Prozess-Scripts. Wenn nicht angegeben,
wird kein Script ausgeführt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GroupingScriptName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Name des Gruppierungs-Scripts. Wenn nicht
angegeben, wird kein Script ausgeführt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BundlingScriptName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Name des Bündelungs-Scripts. Wenn nicht angegeben,
wird kein Script ausgeführt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OutputScriptName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Name des Output-Scripts. Wenn nicht angegeben,
wird kein Script ausgeführt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DeliverScriptName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Name des Versand-Scripts. Wenn nicht angegeben,
wird kein Script ausgeführt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EndScriptName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Name des Abschluss-Scripts. Wenn nicht angegeben,
wird kein Script ausgeführt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ManualCheck" type="BoolType" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Manuelle Kontrolle / Bearbeitung einschalten
(true/false). Wenn nicht angegeben, dann false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DeliveryDocumentReportName" type="xs:string"
minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Profil-Name des Reports für die Versandpapiere.
Es können mehrere Profil-Namen definiert werden. Die Reports werden
einzeln aufgerufen.
Wenn nicht angegeben, werden keine Versandpapiere ausgegeben.
</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Gruppierungs-Einstellungen -->
<xs:sequence minOccurs="0" maxOccurs="1">
<xs:element name="GroupConfig">
<xs:annotation>
<xs:documentation>Dieses Element enthält alle Einstellungen für die
Gruppierung von Sendungen innerhalb eines LS-Jobs</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="Name" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Optionale Bezeichnung der
Gruppe</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GroupingAttribute" type="xs:string" minOccurs="1"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Attribut für die Gruppierung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SortingAttribute" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Attribut für die Sortierung. Wenn leer, keine
Sortierung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SortOrder" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Sortierreihenfolge (aufsteigend / absteigend).
Wenn nicht angegeben, dann aufsteigend.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="asc"/>
<xs:enumeration value="desc"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Splitting" type="BoolType" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Eigene Output-Dateien für diese Gruppe erstellen
(true/false). Wenn nicht angegeben, dann false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SplittingFileName" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Definition der Dateinamen der Output-Dateien, wenn
gesplittet. Wenn nicht angegeben, dann wird eine fortlaufende Nummer
angehängt.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Bündelungs-Einstellungen -->
<xs:element name="BundlingConfig">
<xs:annotation>
<xs:documentation>Dieses Element enthält alle Einstellungen für die
Gruppierung von Sendungen innerhalb eines LS-Jobs</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="1">
<xs:element name="Name" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Optionale Bezeichnung der
Bündelung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Criteria" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
Kriterium, welches erfüllt sein muss, damit Bündelungs-Einstellungen
angewandt werden.
Wenn kein Kriterium angegeben, dann werden Bündelungs-Einstellungen
immer angewendet.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BundlingAttribute" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Attribut für die Bündelung.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="minQuantity" type="xs:integer" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Minimale Menge für Bündel. Wenn nicht angegeben,
dann 0</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="maxQuantity" type="xs:integer" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Maximale Menge für Bündel. Wenn nicht angegeben,
dann unbeschränkt</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="maxWeight" type="xs:integer" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Maximales Gewicht für Bündel in kg. Wenn nicht
angegeben, dann unbeschränkt</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AddSeparationRecord" type="BoolType" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Datensatz für Trennbrief anlegen (true/false. Wenn
nicht angegeben, dann false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SeparationRecord" type="xs:string" minOccurs="0"
maxOccurs="1">
<xs:annotation>
<xs:documentation>Definition für
Trennbrief-Datensatz.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Types -->
<xs:simpleType name="BoolType">
<xs:annotation>
<xs:documentation>Typedef for boolean</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UPOCType">
<xs:annotation>
<xs:documentation>Typedef for UPOC</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="9"></xs:minLength>
<xs:maxLength value="16"></xs:maxLength>
<xs:pattern value="[0-9]{9,16}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GUIDType">
<xs:annotation>
<xs:documentation>Typedef for GUID</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="36"></xs:minLength>
<xs:maxLength value="36"></xs:maxLength>
<xs:pattern
value="[0-9,A-F,a-f]{8}-[0-9,A-F,a-f]{4}-[0-9,A-F,a-f]{4}-[0-9,A-F,a-f]{4}-[0-9,A-F,a-f]{12}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
|