Aufgliedern zusammengeführter Einträge in separate Nodes

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

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

Aufgliedern zusammengeführter Einträge in separate Nodes

Einige Datenelemente in den standardmäßig mit MapForce bereitgestellten EDI-Konfigurationsdateien sind so konfiguriert, dass nur ein Node im Mapping angezeigt wird, selbst wenn das entsprechende Datenelement mehrmals in der EDI-Quelldatei vorkommt (siehe auch Behandlung mehrerer aufeinander folgender Datenelemente). Ein Beispiel für ein solches Datenelement ist F3036 des UN/EDIFACT-Standards. Der Spezifikation gemäß kann F3036 im C080 ("Party name") Composite bis zu fünf Mal hintereinander vorkommen (siehe https://www.unece.org/fileadmin/DAM/trade/untdid/d15b/trcd/trcdc080.htm).

 

In der UN/EDIFACT-Standard-Collection von MapForce wird das Datenelement F3036 durch einen einzigen Node im Mapping dargestellt. Wenn Sie von diesem Node eine Mapping-Verbindung zu einem Ziel-Node ziehen, so würden mit dieser Verbindung in der Zielkomponente so viele Datenelemente erstellt, wie Instanzen von F3036 in der Quellkomponente vorkommen. (Dies entspricht der Grundregel von MapForce-Verbindungen, dass für jedes Datenelement in der Quellkomponente ein Datenelement in der Zielkomponente erstellt wird). Es gibt jedoch Fälle, in denen dies nicht das gewünschte Ergebnis ist, sondern in denen Sie für jede Instanz des Datenelements separate Nodes benötigen.

 

Ziel dieses Beispiels ist es daher, eine benutzerdefinierte UN/EDIFACT-Konfiguration zu erstellen, gemäß welcher für jede Instanz von F3036 separate Mapping-Nodes angezeigt werden. Auf diese Art können Sie jede einzelne Instanz von F3036 auf einen separate Ziel-Node mappen. In den Abbildungen unten sehen Sie die EDIFACT Mapping-Komponente vor und nach der Anpassung.

 

mf_edi_f3036_merged

mf_edi_f3036_unmerged

Vor der Anpassung

Nach der Anpassung

 

Um das F3036-Datenelement in mehrere Mapping-Nodes aufzugliedern, gehen Sie folgendermaßen vor:

 

1.Erstellen Sie anhand der vorhandenen UN/EDIFACT-Collection eine benutzerdefinierte EDI-Collection (siehe Erstellen einer benutzerdefinierten EDI-Collection). Dadurch stellen Sie sicher, dass die Änderungen sich in keiner Weise auf die EDI-Standardkonfiguration auswirken.
2.Öffnen Sie die Datei EDSD.Segment Ihrer benutzerdefinierten Collection in einem XML-Editor. (Wenn Sie eine andere EDI-Variante anpassen möchten, bearbeiten Sie die entsprechende .segment-Datei dieser EDI-Variante. Bei X12 wäre dies die Datei X12.Segment.)
3.Suchen Sie nach dem Composite C080 und entfernen Sie das Attribut mergedEntries="5" des Datenelements F3036.

<Composite name="C080" info="PARTY NAME">
  <Data ref="F3036" mergedEntries="5"/>
  <Data ref="F3045" minOccurs="0"/>
</Composite>

4.Fügen Sie zu allen Feldern mit Ausnahme des ersten das Attribut minOccurs="0" hinzu. Der Grund dafür ist, dass gemäß dem UN/EDIFACT-Standard nur die erste Instanz des Felds obligatorisch ist; die anderen hängen von Bedingungen ab.
5.Geben Sie für jedes der Felder einen eindeutigen Node-Namen ein (z.B. F3036_1, F3036_2, usw.). Die Konfiguration sollte zu diesem Zeitpunkt folgendermaßen aussehen:

<Composite name="C080" info="PARTY NAME">
  <Data ref="F3036" nodeName="F3036_1"/>
  <Data ref="F3036" nodeName="F3036_2" minOccurs="0"/>
  <Data ref="F3036" nodeName="F3036_3" minOccurs="0"/>
  <Data ref="F3036" nodeName="F3036_4" minOccurs="0"/>
  <Data ref="F3036" nodeName="F3036_5" minOccurs="0"/>
  <Data ref="F3045" minOccurs="0"/>
</Composite>

6.Speichern Sie die bearbeitete EDSD.Segment-Datei.

 

Sie können die geänderte EDI-Collection nun folgendermaßen in MapForce anzeigen und damit arbeiten:

 

1.Klicken Sie im Menü Einfügen auf EDI.
2.Sobald Sie dazu aufgefordert werden, wählen Sie die zuvor erstellte benutzerdefinierte Collection aus (in diesem Beispiel "EDIFACT.Custom").
3.Wählen Sie einen beliebigen Nachrichtentyp, in dem das C080-Segment verwendet wird, aus (in diesem Beispiel "ORDERS - Purchase Order Message").

mf_edi_split

 

Die EDI-Komponente wird nun geändert in MapForce angezeigt (jede Instanz des F3036-Datenelements hat im Mapping einen separaten Node).

mf_edi_f3036_unmerged

Mit dem in diesem Beispiel beschriebenen Verfahren können Sie, unabhängig von der EDI-Variante, auch zusammengeführte Einträge für andere Datenelemente aufgliedern.


© 2019 Altova GmbH