Ändern der Nachrichtenstruktur

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

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

Ändern der Nachrichtenstruktur

In jeder <Message>.config-Datei wird die Struktur eines Message-Elements durch das XML-Schema des EDI-Standards, den Sie anpassen, vorgegeben. Dieses Schema hat den Namen EDIConfig.xsd (oder einen ähnlichen Namen, siehe EDI-Konfigurationsschemas). Um die Struktur der Nachricht zu erstellen oder zu ändern, müssen Sie daher sowohl die Dokumentation zu Ihrem benutzerdefinierten EDI-Standard als auch das XML-Schema konsultieren.

 

Hinzufügen von Segmenten, Datenelementen und Composites

Um Datenelemente, Segmente, Composites und Subcomposites hinzuzufügen, erstellen Sie die Elemente <Data>, <Segment>, <Composite> und <SubComposite>. Gehen Sie dabei folgendermaßen vor:

 

Die .segment-Datei muss die Liste aller wiederverwendbaren, global definierten Segmente und Datenelemente enthalten.
Die .config-Datei für den jeweiligen Nachrichtentyp (oder Transaktionstyp) muss die eigentliche Struktur dieser Nachricht enthalten (die Hierarchie von Segmenten, Composites und Datenelementen).

 

Auf diese Art können Sie ein Datenelement einmal (in der .segment-Datei) definieren und es in mehreren Nachrichten (in .config-Dateien) wiederverwenden.

 

Um ein Datenelement zu referenzieren, verwenden Sie das Attribut ref. So sehen Sie etwa im Codefragment unten, wie das Datenelement F100 in der X12.Segment-Datei der HIPAA.X12 Collection definiert ist.

 

<Data name="F100" type="string" maxLength="3" minLength="3" info="Currency Code" />

X12.Segment-Datei

Nun können alle Segmente in allen Transaktionstypen, in denen dieses Datenelement benötigt wird, dieses referenzieren. Im Codefragment unten sehen Sie, wie das "CUR"-Segment der Transaktion "Health Care: Professional" (837P) das zuvor definierte F100-Datenelement referenziert:

 

<Include href="X12.Segment" />

 

...

 

<Segment name="CUR" minOccurs="0" info="Foreign Currency Information">
  <Data ref="F100" info="Currency Code" />
</Segment>

837P.Config-Datei (X12)

Eine Referenz kann sich in derselben Datei oder in einer externen Datei befinden. Die .config-Datei im oben gezeigten Codefragment enthält eine Referenz auf eine externe .segment-Datei. Aus diesem Grund finden Sie am Anfang der 837P.Config-Datei eine <Include href="X12.Segment" /> -Anweisung, um die Referenz zur externen X12.Segment-Datei hinzuzufügen.

 

Ein weiteres Beispiel für das Hinzufügen eines benutzerdefinierten Segments finden Sie unter Beispiel: Hinzufügen des TA1-Segments.

 

Erstellen von Gruppen und Schleifen

Bei der Erstellung oder Änderung von EDI-Strukturen müssen Segmente oder Datenelemente oft unter einem übergeordneten Node (oder einer übergeordneten Gruppe) gruppiert werden. Selbst die Nachricht in der EDI-Komponente ist eine Gruppe, da sie all die Segmente, aus denen diese Nachricht besteht, in einer Gruppe vereint. Gruppen können auch ineinander verschachtelt sein (sie können untergeordnete Gruppen enthalten). Außerdem können sie wiederholt vorkommen (in diesem Fall werden sie zu Schleifen). Gruppen und Schleifen können durch Hinzufügen eines <Group>-Elements erstellt werden. Mit Hilfe des Attributs maxOccurs kann die Anzahl der zulässigen Instanzen einer Schleife festgelegt werden. Im folgenden Codefragment sehen Sie eine Schleife, die bis zu 25 Mal vorkommen kann, optional ist und aus zwei Segmenten besteht:

 

<Group name="LoopSAC" maxOccurs="25" minOccurs="0">
  <Segment ref="SAC"/>
  <Segment ref="CUR" minOccurs="0"/>
</Group>

850.Config-Datei (X12)

 

Definieren des Typs und der Größe von Datenelementen

Mit Hilfe des Attributs type eines Datenelements oder Segments können Sie seinen Typ (String, Dezimal, usw.) definieren. Bei den möglichen Datentypen (Attribut type) handelt es sich im Allgemeinen um beliebige XML-Schematypen, die in den standardmäßig bereitgestellten Konfigurationsdateien verwendet werden. Eventuell können auch andere XML-Schema simpleTypes verwendet werden, deren Unterstützung aber nicht garantiert ist. Die folgenden simpleTypes werden nicht unterstützt: "anyType", "ENTITIES" und "QName".

 

Mit Hilfe der Attribute minLength und maxLength eines Datenelements kann dessen minimale und maximale Länge definiert werden.

 

Definieren obligatorischer und optionaler Datenelemente

Um festzulegen, dass ein Datenelement obligatorisch ist, definieren Sie keinen Wert für das Attribut minOccurs (Dieses Attribut hat als Standardwert "1", was bedeutet, dass das Feld standardmäßig obligatorisch ist). Um ein Datenelement als optional zu definieren, definieren Sie als Wert des Attributs minOccurs den Wert "0". Im Codefragment unten sehen Sie z.B. zwei obligatorische Datenelemente (F1331, F1332) und ein optionales Datenelement (F1325).

 

<Composite name="C023" info="Health Care Service Location Information">
  <Data ref="F1331"/>
  <Data ref="F1332"/>
  <Data ref="F1325" minOccurs="0"/>
</Composite>


© 2019 Altova GmbH