Gelockerte Validierungsregeln für Felder

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Datenquellen und -ziele >  EDI  > Anpassen der EDI-Validierung >

Gelockerte Validierungsregeln für Felder

Es gibt Fälle, in denen die in einem Feld zulässigen Codewerte nicht zur Gänze in einem Standard vorgegeben sind, sodass durch externe Standards oder Recommendations definierte Codewerte verwendet werden können. So sind z.B. laut EDIFACT D16A in einigen Feldern in externen ISO-Standards oder UN/ECE Recommendations definierte Codewerte zulässig. So sind etwa für das Datenelement 4405 146 Codewerte definiert, es können jedoch laut externer UN/ECE Recommendation 24 auch 346 Codewerte verwendet werden.

 

Die möglichen Codewerte für ein Feld werden in MapForce anhand einer Konfigurationsdatei mit der Erweiterung .codelist (im Folgenden als ".codelist"-Datei bezeichnet) validiert. Wenn MapForce eine EDI-Datei verarbeitet, erzeugt es normalerweise einen Validierungsfehler, wenn ein Feld keinen der in der .codelist-Datei für diese EDI-Variante definierten Werte hat (vorausgesetzt Sie haben die Standardvalidierungsoptionen nicht dahingehend geändert, dass ungültige Feldwerte stillschweigend ignoriert werden, siehe Validierung von EDI-Komponenten.) Die .codelist-Dateien für die einzelnen EDI-Varianten befinden sich im Verzeichnis C:\Programme\Altova\MapForce2019\MapForceEDI\. So sind etwa in der Datei UNCL.codelist im Verzeichnis C:\Programme\Altova\MapForce2019\MapForceEDI\EDIFACT\ mögliche Codewerte für Werte in UN/EDIFACT-Feldern gespeichert.

 

Die .codelist-Standarddatei enthält alle möglichen Codewerte für ein Feld gemäß dem jeweiligen EDI-Standard. Wenn Codewerte vom Standard nicht explizit vorgegeben werden, sondern in externen Standards definiert sind, wird die Validierung als unvollständig betrachtet. Wenn die Liste der Codewerte für ein bestimmtes Feld (z.B. Datenelement 4405 von UN/EDIFACT D16A) laut EDI-Standard nicht zur Gänze im EDI-Standard vorgegeben ist, würden bei der Verarbeitung des Felds während der Mapping-Ausführung normalerweise Validierungsfehler ausgegeben werden. Dabei gibt MapForce (oder der Ausführungsprozessor, mit dem das EDI-Mapping ausgeführt wird, wie z.B. MapForce Server oder ein C#, C++ oder Java-Programm) einen Fehler im folgenden Format aus: {Wert} ist kein gültiger Wert für das Feld {Feld}. Das bedeutet, dass der Feldwert in der Liste der in der .codelist-Datei definierten vorhandenen Codelistenwerte nicht gefunden wurde.

 

Damit das Mapping bei Fehlern wie dem oben beschriebenen nicht abgebrochen wird, können Sie Folgendes tun:

 

1.Ändern Sie das Validierungsverhalten über die EDI-Validierungseinstellungen (Aktivieren Sie z.B. im Dialogfeld "EDI-Validierungseinstellungen" das Kontrollkästchen Melden und Akzeptieren neben "Ungültiger Codelistenwert". (Um die EDI-Validierungseinstellungen zu konfigurieren, klicken Sie im Dialogfeld EDI-Komponenteneinstellungen auf die Schaltfläche Validierung.)

mf_relax_validaton

2.Lockern Sie die Feldvalidierungsregeln in den Konfigurationsdateien, wie unten gezeigt.

 

MapForce bietet eine Möglichkeit, um ein Feld zu kennzeichnen, das "unvollständige" Validierungsregeln aufweist. Dadurch stellen Sie sicher, dass MapForce (oder der Ausführungsprozessor, mit dem das EDI-Mapping ausgeführt wird, wie z.B. MapForce Server oder ein C#, C++ oder Java-Programm) keine Fehlermeldung erzeugt, wenn das Feld verarbeitet wird; stattdessen wird eine Warnmeldung angezeigt und das Mapping wird fortgesetzt. "Unvollständig" bedeutet also, dass nur die in der MapForce .codelist-Standarddatei definierten Codewerte bei der Validierung berücksichtigt werden sollen, nicht aber die extern definierten.

 

Zur einfacheren und flexibleren Handhabung werden in den mit MapForce bereitgestellten .codelist-Standardkonfigurationsdateien bestimmte Felder als Felder behandelt, die eine unvollständige Validierung aufweisen.

 

Standardmäßig erzeugt MapForce Warnungen (und nicht Fehler), wenn eines der folgenden Fehler Codewerte enthält, die in externen Spezifikationen definiert sind:

 

Datenelement 4053 von UN/EDIFACT D.16A
Datenelement 4277 von UN/EDIFACT D.16A
Datenelement 4405 von UN/EDIFACT D.16A
Datenelement 8179 von UN/EDIFACT D.16A

 

Die Warnung wird ausgegeben, um Sie darüber zu informieren, dass die Validierung dieses Felds unvollständig ist. Durch eine unvollständige Validierung können unter Umständen vom Mapping fehlerhafte Daten erzeugt werden. Um dies zu verhindern, wird empfohlen, mittels benutzerdefinierter .codelist-Dateien für MapForce eine vollständige Feldvalidierung durchzuführen. Mittels benutzerdefinierter .codelist-Dateien können Sie externe Codewerte in einem Format definieren, das von MapForce verstanden wird, sodass Sie eine vollständige Validierung des Felds durchführen können. Nähere Informationen hierzu finden Sie unter Anpassen von Codewerten aus externen Quellen.

 

Anmerkung:Das Datenelement 8155 wird ebenfalls auf Basis eines externen Standards (ISO 6346 Standard) validiert; für dieses Feld stellt MapForce jedoch eine vollständige Validierung mit Hilfe einer separaten .codelist-Datei zur Verfügung. Siehe Anpassen von Codewerten aus externen Quellen).

 

Gegebenenfalls können Sie weitere Felder anpassen, damit diese als Felder behandelt werden, die unvollständige Validierungsregeln aufweisen. Gehen Sie dazu folgendermaßen vor:

 

1.Navigieren Sie zur .codelist-Datei im Verzeichnis C:\Programme\Altova\MapForce2019\MapForceEDI\ (es gibt Unterverzeichnisse für die einzelnen EDI-Varianten) und öffnen Sie sie mit einem XML-Editor wie z.B. XMLSpy.
2.Suchen Sie das <Field>-Element, das dem gewünschten Datenelement entspricht, und fügen Sie das Attribut Incomplete="1" (unten markiert) zu diesem Element hinzu, z.B.:

 

<Field Name="F8179" Length="8" Type="Alphanumeric" Incomplete="1">
  <Title>Transport means description code</Title>
  <Description>Code specifying the means of transport.</Description>
  <Note>1 Use UN/ECE recommendation 28.
</Note>
  <Values>
    <Value Code="1">
        <Title>Box tricycle</Title>
        <Description>Tricycle with a basket for delivering goods.</Description>
    </Value>
  </Values>
</Field>

 

Anmerkung:Um den Inhalt der Datei ändern zu können, benötigen Sie Schreibrechte für das Verzeichnis C:\Programme\Altova\MapForce2019\MapForceEDI.

 

Falls es für die Verarbeitung Ihrer Datei notwendig ist, dass für Felder, die bereits als "unvollständig" (incomplete) gekennzeichnet wurden, ein Fehler anstelle einer Warnung ausgegeben werden soll, so ändern Sie den Attributwert von Incomplete in den Wert "0" anstelle von "1". Dadurch wird eine strenge Feldvalidierung durchgeführt und es werden Fehler (und nicht Warnungen) ausgegeben, wenn der Feldwert nicht Teil der in der .codelist-Datei definierten Gruppe von Werten ist.


© 2019 Altova GmbH