Behandlung mehrerer aufeinander folgender Datenelemente

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

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

Behandlung mehrerer aufeinander folgender Datenelemente

In EDI-Segmenten können oft mehrere aufeinander folgende Elemente mit demselben Namen vorkommen. Dies gilt z.B. für das N2-Segment des "850 - PURCHASE ORDER" Transaction Set des X12-Standards. Im N2-Segment dürfen der Spezifikation gemäß zwei aufeinander folgende alphanumerische "Name"-Felder vorkommen (eines davon ist obligatorisch, eines optional):

mergedx12-2

Wenn Sie eine EDI-Konfiguration erstellen oder ändern, haben Sie die zwei unten beschriebenen Möglichkeiten, wie Sie mit solchen Datenelementen verfahren können.

 

Methode 1: Erstellen separater Mapping-Nodes für jedes aufeinander folgende Datenelement

Bei dieser Methode erstellen Sie in der Segment-Datei mehrere Instanzen des Datenelements. In diesem Fall wird für jede Instanz des Datenelements im Mapping ein neuer Node angezeigt. Werfen Sie einen Blick auf diese Konfiguration:

 

<Segment name="N2" info="Additional Name Information">
  <Data ref="F93" nodeName="F93_1"/>
  <Data ref="F93" minOccurs="0" nodeName="F93_2"/>        
</Segment>

 

Mit dieser Konfiguration werden im Mapping zwei separate F93 Nodes erstellt, einer für jede Instanz von F93:

mf_edi_f93_unmerged

X12 EDI-Komponente mit separaten F93-Nodes

Diese Methode ist sinnvoll, wenn jede Instanz des Datenelements auch alleinstehend Sinn ergibt, sodass Sie jedes im Mapping in einem separaten Node anzeigen möchten.

 

Methode 2: Erstellen eines einzigen Node für alle Instanzen des Datenelements

Bei dieser Methode behandeln Sie alle Instanzen des Datenelements als einen einzigen Node. Fügen Sie dazu das Attribut mergedEntries zum entsprechenden Datenelement hinzu. Im unten gezeigten Codefragment hat das Attribut mergedEntries des Datenelements F93 den Wert "2". Dadurch sind zwei aufeinander folgende Instanzen dieses Felds in der EDI-Instanzdatei zulässig.

 

<Segment name="N2" info="Additional Name Information">
  <Data ref="F93" mergedEntries="2"/>
</Segment>

 

Der Node für das F93-Datenelement wird im Mapping als ein einziger Node angezeigt:

mf_edi_f93_merged

X12 EDI-Komponente mit separaten F93-Nodes

Beim Mappen von Daten aus einem Datenelement mit zusammengeführten Einträgen werden in der Zielkomponente mehrere duplizierte Elemente erstellt, wenn die EDI-Quelldatei mehrere (nicht leere) Instanzen dieses Elements enthält. Angenommen, Sie haben eine EDI-Quelldatei, in der das N2-Segment zwei aufeinander folgende Instanzen von F93 enthält. Die erste Instanz ist "Michelle Butler" und die zweite ist "Mrs".

 

N2+Michelle Butler+Mrs+'

 

Wenn Sie Daten aus einer solchen EDI-Datei mappen, würde in der Zielkomponente die folgende Ausgabe erzeugt (beachten Sie, dass <ContactName> zwei Mal vorkommt):

 

<Customer>
    <Number>123</Number>
    <ContactName>Michelle Butler</ContactName>
    <ContactName>Mrs</ContactName>
    <CompanyName>Nanonull, Inc.</CompanyName>    
</Customer>

 

Die Verwendung dieser Methode ist dann sinnvoll, wenn die einzelnen Instanzen des Datenelements für sich selbst keinen Sinn ergeben und Sie im Mapping keinen separaten Node für jede einzelne Instanz erzeugen möchten. So können etwa in einem Datenelement mit mehreren Instanzen mehrere Zeileneinträge, aus denen eine Adresse besteht, gespeichert sein. In solchen Fällen eignet sich die Methode der "zusammengeführten Einträge" eventuell besser als die Verwendung einzelner Nodes für jede Adresszeile.

 

In einigen standardmäßig mit MapForce bereitgestellten Konfigurationsdateien werden zusammengeführte Einträge verwendet, wodurch im Mapping für mehrere aufeinander folgende Instanzen eines Datenelements nur ein Node angezeigt wird. Wenn Sie separate Nodes für die einzelnen Instanzen des Datenelements benötigen, bearbeiten Sie dazu die EDI-Konfigurationsdatei. Ein Beispiel dafür finden Sie unter Aufgliedern zusammengeführter Einträge in separate Nodes.


© 2019 Altova GmbH