15
Eingangsstruktur: Eine Auftragsposition besteht aus einer Position und beliebig vielen Texten zu dieser Position. Ausgangsstruktur: Auftragskopf und Auftragsposition wurden wie bisher mit relativem Pfad auf die gleichnamigen Knoten in der Eingangsstruktur gemappt. Das Mapping von Position und PositionText wird in den nachfolgenden Beispielen verändert und die Auswirkungen der Veränderungen aufgezeigt. Mapping von Auftragskopf zu Auftragskopf mit relativem Pfad (1:1 Mapping). Mapping von Auftragsposition zu Auftragsposition mit relativem Pfad (1:1 Mapping). Mapping von Position und PositionText mit Pfad auf gleichnamigen Eingangsknoten und Ist Pfad relativ auf false. Eingangsbaum. Aus Gründen der Übersichtlichkeit wurde auf die Darstellung der Felder verzichtet. Ausgangsbaum. Analog zu wurde auf die Felder verzichtet. Knoten Position wiederholt sich so oft, wie der Knoten (Pfad) im Eingangsbaum vorkommt. Der Algorithmus sucht alle Knoten mit dem Namen Position im Eingangsbaum und findet zwei 76 / 140 Abbildung: Absoluter Pfad auf Ausgangsknoten record OrderPosition OrderHeader Root OrderPosition Position PositionText Position PositionText PositionText PositionText Position PositionText Position PositionText record OrderPosition OrderHeader Root Position Position PositionText PositionText PositionText PositionText OrderPosition Position Position PositionText PositionText PositionText PositionText 1 2 3 4 5 4 5 Abbildung: Eingangs- und Ausgangsstruktur für Beispiele Pfadangaben Root OrderPosition OrderHeader Root OrderHeader Position PositionText OrderPosition Position PositionText 1 2 3 4

076 Pdfsam Data Wizard

  • Upload
    mkurz

  • View
    142

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 076 Pdfsam Data Wizard

Eingangsstruktur: Eine Auftragsposition besteht aus einer Position und beliebig vielen Texten zu dieser Position.

Ausgangsstruktur: Auftragskopf und Auftragsposition wurden wie bisher mit relativem Pfad auf die gleichnamigen Knoten in der Eingangsstruktur gemappt. Das Mapping von Position und PositionText wird in den nachfolgenden Beispielen verändert und die Auswirkungen der Veränderungen aufgezeigt.

Mapping von Auftragskopf zu Auftragskopf mit relativem Pfad (1:1 Mapping).

Mapping von Auftragsposition zu Auftragsposition mit relativem Pfad (1:1 Mapping).

Mapping von Position und PositionText mit Pfad auf gleichnamigen Eingangsknoten und Ist Pfad relativ auf false.

Eingangsbaum. Aus Gründen der Übersichtlichkeit wurde auf die Darstellung der Felder verzichtet.

Ausgangsbaum. Analog zu wurde auf die Felder verzichtet.

Knoten Position wiederholt sich so oft, wie der Knoten (Pfad) im Eingangsbaum vorkommt. Der Algorithmus sucht alle Knoten mit dem Namen Position im Eingangsbaum und findet zwei

76 / 140

Abbildung: Absoluter Pfad auf Ausgangsknoten

record

OrderPosition

OrderHeader

Root

OrderPosition

Position

PositionText

Position

PositionText

PositionText

PositionText

Position

PositionText

Position

PositionText

record

OrderPosition

OrderHeader

Root

Position

Position

PositionText

PositionText

PositionText

PositionText

OrderPosition

Position

Position

PositionText

PositionText

PositionText

PositionText

12

3

4

5

4

5

Abbildung: Eingangs- und Ausgangsstruktur für Beispiele Pfadangaben

Root

OrderPosition

OrderHeader

Root

OrderHeader

Position

PositionText

OrderPosition

Position

PositionText

123

4

Page 2: 076 Pdfsam Data Wizard

Vorkommen. Deshalb wird der Knoten im Ausgangsbaum ebenfalls zweimal wiederholt.

Knoten PositionText wiederholt sich so oft wie der Knoten (Pfad) im Eingangsbaum vorkommt. Der Algorithmus sucht alle Knoten mit dem Namen PositionText im Eingangsbaum und findet vier Vorkommen. Deshalb wird der Knoten im Ausgangsbaum ebenfalls viermal wiederholt.

Man kann sich die Knoten auf der Ausgangsseite wie eine Programmschleife vorstellen. Die Knoten werden einfach so oft wiederholt, wie die zugehörigen Eingangsknoten (Pfade) gefunden werden. Die Anzahl der Fundstellen hängt von der Einstellung Ist relativer Pfad ab, wie in der nächsten Abbildung zu sehen ist.

Mapping von Position und PositionText mit Pfad auf PositionText und Ist Pfad relativ auf true.

Eingangsbaum. Aus Gründen der Übersichtlichkeit wurde auf die Darstellung der Felder verzichtet.

Ausgangsbaum. Analog zu wurde auf die Darstellung der Felder verzichtet.

Knoten Position wiederholt sich so oft wie der Knoten PositionText (Pfad) im Eingangsbaum unter dem Vaterknoten (OrderPosition) vorkommt. Der Algorithmus sucht alle Knoten mit dem Namen PositionText unter dem Vater und findet ein Vorkommen. Deshalb wird der Knoten im Ausgangsbaum ebenfalls einmal wiederholt.

Knoten Position wiederholt sich so oft wie der Knoten PositionText (Pfad) im Eingangsbaum unter dem Vaterknoten (OrderPosition) vorkommt. Der Algorithmus sucht alle Knoten mit dem Namen PositionText unter dem Vater und findet drei Vorkommen. Deshalb wird der Knoten im Ausgangsbaum ebenfalls einmal wiederholt.

Bei relativer Pfadangabe sucht der Algorithmus wie folgt:

● Suche im Eingangsbaum unterhalb des (einschließlich) Vaterknotens nach Knoten mit gleichem Namen. Wenn Vorkommen gefunden, zähle die Fundstellen und wiederhole den Knoten auf Ausgangsseite so oft wie Vorkommen gefunden. Wenn keine Fundstellen

77 / 140

Abbildung: Relativer Pfad auf Geschwister

record

OrderPosition

OrderHeader

Root

OrderPosition

Position

PositionText

Position

PositionText

PositionText

PositionText

Position

PositionText

Position

PositionText

record

OrderPosition

OrderHeader

Root

Position

PositionText

OrderPosition

Position

Position

PositionText

PositionText

PositionText

PositionText

Position

12

3

4

5

Page 3: 076 Pdfsam Data Wizard

gefunden, mache nächsten Schritt.

● Gehe eine Ebene nach oben und suche dort unterhalb des (einschließlich) Vaterknotens nach Knoten mit gleichem Namen. Wenn Vorkommen gefunden, zähle die Fundstellen und wiederhole den Knoten auf Ausgangsseite so oft wie wie Vorkommen gefunden. Wenn keine Fundstellen gefunden, wiederhole den Schritt so lange bis Vorkommen gefunden oder bis Wurzel des Datenblatts erreicht.

Unten stehend ist das Vorgehen des Algorithmus' an einem schematischen Ausgangsbaum dargestellt.

Ausgangspunkt der Suche. Innerhalb des markierten Bereiches wird nach Vorkommen des angegebenen Knotens (Pfad) gesucht.

Wenn in nichts gefunden wurde, erweitert der Algorithmus seinen Suchbereich um einen Knoten nach oben, und sucht unterhalb des neuen Ausgangspunktes alle Vorkommen des angegebenen Knotens (Pfad).

Wenn in nichts gefunden wurde, erweitert der Algorithmus seinen Suchbereich, um einen Knoten nach oben, und sucht unterhalb des neuen Ausgangspunktes alle Vorkommen des angegebenen Knotens (Pfad).

Wenn in nichts gefunden wurde, erweitert der Algorithmus seinen Suchbereich, um einen Knoten nach oben und sucht unterhalb des neuen Ausgangspunktes alle Vorkommen des angegebenen Knotens (Pfad). Der markierte Bereich entspricht hier der Einstellung absoluter Pfad, da alle Vorkommen des Knotens gefunden werden. Über die Grenzen des Datenblattes wird die Suche nicht ausgedehnt.

Berechnete Anzahl von WiederholungenDie Anzahl eines Knotens kann im Mapping auch berechnet werden. Dazu wird in der Eigenschaft Pfad kein Knoten der Eingangsstruktur, sondern eine Variable vom Typ Integer eingetragen. Der Wert der Variablen bestimmt dann die Anzahl von Wiederholungen des Knotens. Die Variable selbst kann im Mapping berechnet werden. Siehe Abschnitt Arbeiten mit Filtern.

Der Wert der Variable wird ausgelesen, wenn der Mapper auf den Knoten in der Ausgangsstruktur trifft. Änderungen der Variable während der Wiederholungen haben keine Auswirkung. Falls der Mapper im Ausgangsbaum mehrmals auf den Knoten trifft, kann die Variable zu diesen Zeitpunkten unterschiedliche Werte haben.

78 / 140

Abbildung: Suchalgorithmus für relativen Pfad

1

2

3 4

Page 4: 076 Pdfsam Data Wizard

Bedingungen für das Betreten eines KnotensUm einen Knoten nur unter bestimmten Bedingungen zu betreten (zu erstellen), kann der Knoten in der Ausgangsstruktur mit Filtern belegt werden. Der letzte Filter in der Liste muss einen boolschen Wert zurückgeben (true oder false). Ist der Wert false, wird der Knoten nicht betreten. Diese Bedingungen werden bei jedem Betreten des Knotens neu ausgewertet. Mit Filterbedingungen kann die Anzahl von Wiederholungen nur vermindert, nicht erhöht werden.

Auf dem Knoten wurde ein Filter (Bedingung) hinterlegt, der zum Auswertezeitpunkt false zurückliefert. Die Felder des Knotens und die darunter liegenden Knoten werden behandelt, als wenn der Knoten nicht vorhanden wäre.

Auf dem Knoten wurde ein Filter (Bedingung) hinterlegt, der zum Auswertezeitpunkt false zurück liefert. Die Felder des Knotens werden behandelt, als wenn der Knoten nicht vorhanden wäre. Vor dem abschließenden Filter, der true oder false liefert, können noch weitere Filter angeordnet werden, um z. B. Variablen zu berechnen.

Abarbeitungsreihenfolge von KnotenMit der Eigenschaft Abarbeitung steht eine weitere Steuerungsmöglichkeit für die Erstellung des Ausgangsbaums zur Verfügung. Diese Eigenschaft legt fest, wie im Eingangsbaum die untergeordneten Knoten gesucht werden.

AbwechselndIn den bisherigen Beispielen wurde mit der Standard Einstellung abwechselnd über alle Knoten gearbeitet. Dabei durchsucht der Mapper die parallelen Knoten abwechselnd nach gleichartigen Unterknoten. Unten stehend wird die Auswirkung auf den bereits bekannten Ausgangsbaum dargestellt.

79 / 140

Abbildung: Bedingungen auf Knoten

1

2

Page 5: 076 Pdfsam Data Wizard

Im Knoten OrderPosition (Ausgangsstruktur) steht die Abarbeitungsreihenfolge auf abwechselnd über alle Knoten. Zunächst werden alle Unterknoten Position gesucht und in den Ausgangsbaum gestellt.

Nach Bearbeitung von werden die Unterknoten PositionText gesucht und in den Ausgangsbaum gestellt.

Nach Abarbeitung des Knotens wird der nächste gleichnamige Knoten ermittelt, und dort alle Unterknoten Position gesucht und in den Ausgangsbaum gestellt.

Nach Bearbeitung von werden die Unterknoten PositionText gesucht und in den Ausgangsbaum gestellt.

Ausgangsbaum, der mit den beschriebenen Einstellungen entsteht.

Die gefundenen Unterknoten werden den jeweiligen Oberknoten zugeordnet. Die Abarbeitung der gefundenen Unterknoten wird durch die Einstellung des Oberknotens nicht beeinflusst.

Alle Elemente pro KnotenWird im Knoten OrderPosition die Eigenschaft Abarbeitung auf den Wert alle Elemente pro Knoten geändert, stellt der Mapper seine Suche um. Nun werden zu einem Knoten zuerst alle Elemente der Unterknoten gesucht, bevor zum nächsten Knoten gegangen wird.

80 / 140

Abbildung: Abwechselnd in Knoten nach Unterknoten suchen

record

OrderPosition

OrderHeader

Root

OrderPosition

Position

PositionText

Position

PositionText

PositionText

PositionText

record

OrderPosition

OrderHeader

Root

Position

PositionText

OrderPosition

Position

PositionText

PositionText

PositionText

123

45

6

Page 6: 076 Pdfsam Data Wizard

Im Knoten OrderPosition (Ausgangsstruktur) steht die Abarbeitungsreihenfolge auf alle Elemente pro Knoten. Zunächst werden alle Unterknoten Position gesucht und in den Ausgangsbaum gestellt. Im Unterschied zum vorherigen Beispiel wird auch in den Geschwister-Knoten gesucht. Es werden zwei Elemente gefunden.

Nach Bearbeitung von werden die Unterknoten PositionText gesucht und in den Ausgangsbaum gestellt. Im Unterschied zum vorherigen Beispiel wird auch in den Geschwister-Knoten gesucht. Es werden vier Elemente gefunden. Danach wird die Suche im nächsten Knoten OrderPosition wiederholt, bereits gefundene Elemente werden nicht mehr berücksichtigt.

Es entsteht ein Ausgangsbaum mit Knoten Orderposition, in dem die Unterknoten aus dem Eingangsbaum in einem Knoten gesammelt sind.

Wiederkehrende SchleifeEs existiert noch eine weitere Einstellung für die Reihenfolge der Abarbeitung, wiederkehrende Schleife. Diese Einstellung hat nur Auswirkungen unterhalb eines Knotens mit der Einstellung alle Elemente pro Knoten. Die Unterknoten mit der Einstellung wiederkehrende Schleife werden NICHT in benachbarten Knoten gesucht. Deshalb findet der Mapper beim Betreten der Nachbarknoten die Elemente erstmals und ordnet sie dem Nachbarknoten zu. Im unten stehenden Beispiel wurde im Knoten Auftragskopf(OH) Abarbeitung auf wiederkehrende Schleife gestellt.

81 / 140

Abbildung: Alle Elemente pro Knoten suchen

record

OrderPosition

OrderHeader

Root

OrderPosition

Position

PositionText

Position

PositionText

PositionText

PositionText

record

OrderHeader

Root

OrderPosition

Position

PositionText

PositionText

PositionText

Position

PositionText

OrderPosition

1

2

3

4

Page 7: 076 Pdfsam Data Wizard

Im Knoten OrderPosition (Ausgangsstruktur) steht die Abarbeitungsreihenfolge auf alle Elemente pro Knoten. Im Knoten Position (Ausgangsstruktur) steht die Abarbeitungsreihenfolge auf wiederkehrende Schleife. Zunächst wird unterhalb von OrderPosition der Unterknoten Position gefunden, der Unterknoten hat die Abarbeitungsreihenfolge wiederkehrende Schleife, deshalb werden Positionen in den parallelen Knoten OrderPosition nicht gesucht. Der Knoten Position wird in den Ausgangsbaum gestellt.

Nach Bearbeitung von werden die Unterknoten PositionText gesucht und in den Ausgangsbaum gestellt. Da die Abarbeitungsreihenfolge auf alle Elemente pro Knoten steht, wird auch in den Geschwister-Knoten gesucht. Es werden vier Elemente gefunden. Danach wird die Suche im nächsten Knoten OrderPosition wiederholt, bereits gefundene Elemente werden nicht mehr berücksichtigt.

Nach Bearbeitung des ersten Knotens OrderPosition wird der zweite Knoten analog bearbeitet. Zunächst wird der Unterknoten Position gefunden, der Unterknoten wurde vorher noch nicht gefunden, deshalb wird Position in den Ausgangsbaum gestellt.

Template

Hier kann eine Vorlage eingetragen werden. Die Vorlage dient dazu, den Datentyp bei der Erstellung des Ausgabebaums mit der Vorlage zu formatieren. Im Augenblick wird die Vorlage nur ausgewertet, wenn es sich um den Datentyp String, Date oder Timestamp handelt und im Feld ein Wert vorhanden ist (trim().length > 0). Die Vorlage wird analog zum Filter (Result = formatted-string(a, b)) ausgewertet, wobei b für die Vorlage steht. Die Vorlage wird durchlaufen nach der letzten Wertzuweisung an das Feld.

Hinweis: Der Eintrag im Feld Vorlage wird nur berücksichtigt, wenn die Eigenschaft Vorlage

82 / 140

Abbildung: Wiederkehrende Schleife

record

OrderPosition

OrderHeader

Root

OrderPosition

Position

PositionText

Position

PositionText

PositionText

PositionText

record

OrderHeader

Root

OrderPosition

Position

PositionText

PositionText

PositionText

Position

PositionText

OrderPosition

12

3

45

Abbildung: Vorlage für Ausgabefelder

1

Page 8: 076 Pdfsam Data Wizard

anwenden auf true steht. Der Schalter existiert, um Kompatibilität zu vorhandenen Profilen zu gewährleisten.

Gibt an, ob die Vorlage für das Ausgangsfeld verwendet werden soll.

VariablenIm Mapping können neben den Eigenschaften zu Feldern auch noch Variablen definiert werden. Variablen können für folgende Aufgaben verwendet werden:

● Vermeidung von Redundanzen, wenn das Ergebnis einer Berechnung für mehrere Felder benötigt wird.

● Übergabe von Werten aus vorherigen Datenblättern.

● Übergabe von Werten aus aufrufenden Profilen (Nur bei Eingangs-Agent Message möglich).

Variablen können, wie unten stehend beschrieben, definiert werden.

Mit diesem Button auf dem Bildschirm für Phase 3 wird Dialog zum Verwalten der Variablen geöffnet.

Name der Variable, unter diesem Namen werden die Variablen vom Programm angesprochen. Um Variablen leicht Feldern oder Knoten unterscheiden zu können, empfiehlt es sich die Namen mit dem Präfix VAR_ beginnen zu lassen.

Initialwert der Variablen. Die Initialwerte können entweder konstante Werte oder Feldwerte aus dem Eingangsbaum sein. Ist der Initialwert ein Feldwert, wird die Variable initialisiert wenn das Feld erstmalig einen Wert erhält!

Mit diesem Button werden neue Variablen hinzugefügt oder geändert. Änderungen werden

83 / 140

Abbildung: Variablen definieren

1

Abbildung: Variablen verwalten

1

2

3

4

5

Abbildung: Vorlage aktivieren

1

Page 9: 076 Pdfsam Data Wizard

durchgeführt, in dem eine vorhandene Variable markiert, verändert und danach dieser Button betätigt wird.

Liste von vorhandenen Variablen. Einträge können einzeln markiert werden, um die Werte zu verändern oder einen Eintrag zu löschen.

Gibt an, ob die Werte in den Variablen auf Typ-Sicherheit geprüft werden. Die Einstellung gilt für alle Variablen eines Profils. Aus Kompatibilitätsgründen sollte der Schalter nur in neuen Profilen aktiviert werden. Mit deaktiviertem Schalter wird z.B. ein Initialwert 1 einer Integer-Variable im Ausgabebaum als 1.0 dargestellt, mit aktiviertem Schalter steht im Ausgabebaum die Ganzzahl 1.

Neue Zeile für CSV / FixRecordBei CSV und FixRecord Dateien wird die Struktur der Daten wesentlich davon bestimmt, welche Daten zusammen in einer Zeile stehen. Im DataWizard haben die Knoten eine Eigenschaft Neue Zeile für CSV / FixRecord. Damit wird festgelegt, ob nach Abarbeitung des Knotens eine neue Zeile begonnen werden soll. Ist diese Eigenschaft auf true gestellt, arbeitet der Mapper wie folgt:

• Nach Abarbeitung des Knotens wird eine neue Zeile begonnen, außer im Knoten wurde keine Ausgabe erstellt.

• Enthält der Knoten Ausgabefelder vor einem Unterknoten mit Zeilenschaltung, dann werden die zugehörigen Ausgaben und der Unterknoten in eine Zeile gestellt.

• Enthält der Knoten Ausgabefelder nach einem Unterknoten mit Zeilenschaltung, dann werden die zugehörigen Ausgaben in eine neue Zeile gestellt.

Steht die Eigenschaft Neue Zeile für CSV / FixRecord auf false, wird nach Verlassen des Knotens keine neue Zeile begonnen.

Unten stehende Abbildungen sollen den Algorithmus verdeutlichen.

Knoten node hat in Eigenschaft Neue Zeile für CSV / FixRecord den Wert false.

Knoten subnode hat in Eigenschaft Neue Zeile für CSV / FixRecord den Wert false.

Alle Werte der Felder werden mit diesen Einstellungen in eine Zeile geschrieben.

84 / 140

Abbildung Knoten und Unterknoten ohne newline

2

1 3

Page 10: 076 Pdfsam Data Wizard

Knoten node hat in Eigenschaft Neue Zeile für CSV / FixRecord den Wert true. Deshalb wird nach Verlassen des Knotens im Ausgangsbaum eine Zeilenschaltung vorgenommen.

Knoten subnode hat in Eigenschaft Neue Zeile für CSV / FixRecord den Wert false.

Alle Werte der Felder werden mit diesen Einstellungen in eine Zeile geschrieben. Nach Verlassen des Knotens wird eine Zeilenschaltung vorgenommen.

Die Werte des nächsten Knotens werden in eine Zeile geschrieben, und danach eine Zeilenschaltung vorgenommen.

Knoten node hat in Eigenschaft Neue Zeile für CSV / FixRecord den Wert false.

Knoten subnode hat in Eigenschaft Neue Zeile für CSV / FixRecord den Wert true. Deshalb wird nach Verlassen des Knotens im Ausgangsbaum eine Zeilenschaltung vorgenommen.

Alle Werte der Felder werden in eine Zeile geschrieben.

Alle Werte der Felder (auch die des nachfolgenden Knotens) werden in eine Zeile geschrieben.

Nach Verlassen des Knotens subnode wird eine Zeilenschaltung vorgenommen.

Der Wert des Feldes wird in eine Zeile geschrieben.

85 / 140

Abbildung: Knoten mit newline Unterknoten ohne newline

1

2

3

4

Abbildung: Knoten ohne newline Unterknoten mit newline

1

2

3

5

4

6

Page 11: 076 Pdfsam Data Wizard

Knoten node hat in Eigenschaft Neue Zeile für CSV / FixRecord den Wert true. Deshalb wird nach Verlassen des Knotens im Ausgangsbaum eine Zeilenschaltung vorgenommen.

Knoten Subnode hat in Eigenschaft Neue Zeile für CSV / FixRecord den Wert true. Deshalb wird nach Verlassen des Knotens im Ausgangsbaum eine Zeilenschaltung vorgenommen.

Die Werte der Felder werden in eine Zeile geschrieben. Nach Verlassen von Subnode wird eine Zeilenschaltung vorgenommen.

Die Werte der Felder werden in eine Zeile geschrieben. Nach Verlassen von node wird eine Zeilenschaltung vorgenommen.

Teste MappingIm DataWizard kann das Mapping während der Erstellung eines Profils getestet werden. Dazu dient der Button Teste Zuordnung. Dabei wird zuerst die Ausgangsstruktur überprüft. Anschließend können für das Profil Eingangsdaten eingelesen und das Ergebnis des Mappings überprüft werden. Dabei werden die Daten nicht in die eingestellten Ausgangskanäle geschrieben. Das Ergebnis des Mappings kann als Baum- oder XML Struktur angezeigt werden. Die SQL Anweisungen in Phase 4 werden ebenfalls nicht ausgeführt.

86 / 140

Abbildung: Knoten und Unterknoten mit newline

1

2

3

4

Page 12: 076 Pdfsam Data Wizard

Gibt an, ob der Ausgangsbaum in als Baum oder im XML-Format angezeigt werden soll.

Schaltet die Überprüfung der Min/Max Werte und Pflichtfelder im Ausgangsbaum aus.

Öffnet einen Dialog, um die Eingangsdaten aus einer Datei einzulesen. Die Daten müssen im Format vorliegen, wie in Phase 2 vorgegeben.

Stellt den Ausgangsbaum im Format wie in angegeben dar.

Öffnet einen Dialog, um die Daten im XML Format mittels XPATH Anweisungen überprüfen zu können.

Der Test der Zuordnungen wird mit den zuletzt eingelesenen Eingangsdaten wiederholt.

Stellt den Baum ohne die Knoten dar, die in den Ausgangsdaten ignoriert werden sollen.

87 / 140

Abbildung: Teste Zuordnung

1 2

3

4

5

6

7

Page 13: 076 Pdfsam Data Wizard

Liste aller Feldnamen in der Ausgangsstruktur.

Darstellung des Ausgangsbaums im XML-Format.

XPATH Anweisung für die Darstellung des Ausgangsbaums. Es wird nur der Teil des Ausgangsbaums dargestellt, der der XPATH Anweisung entspricht.

Oberster Knoten, der der XPATH Anweisung entspricht.

Führt die XPATH Anweisung auf dem Ausgangsbaum aus.

88 / 140

Abbildung: Kommandozeile 1

1

2

3

4

5

Page 14: 076 Pdfsam Data Wizard

Pfadangabe im XPATH Format.

Liste aller Tags im Ausgangsbaum, die dem XPATH Ausdruck entsprechen.

Hinweis: Der Test sollte mit einer überschaubaren Datenmenge durchgeführt werden. Ist die Datenmenge zu groß für eine Anzeige im Frontend, wird eine Meldung ausgegeben. Die Meldungen des Monitors können in diesem Fall heruntergeladen werden. Die Anzeige des Ausgangsbaumes im Baumformat ist in diesem Fall nicht möglich.

Einfaches Mapping mit einem Datensatztyp

Reihenfolge Felder tauschenAusgehend vom vorangegangenen Beispiel soll die Reihenfolge der Felder in OrderHeader getauscht werden. Zusätzlich soll der Auftragskopf nach den Positionen ausgegeben werden. Diese Aufgabe ist ganz einfach! Die Reihenfolge der Felder im Ausgangsbaum wird entsprechend den Anforderungen verändert.

Vorgehen:

• Struktur Eingangsbaum definieren.

• 1:1 Mapping aufrufen

• Reihenfolge der Felder im Knoten OrderHeader in der Ausgangsstruktur vertauschen.

• Reihenfolge der Knoten OrderHeader und Position in der Ausgangstruktur vertauschen.

89 / 140

Abbildung: Kommandozeile 2

2

1

Page 15: 076 Pdfsam Data Wizard

Reihenfolge von OrderHeader wurde im Vergleich zur Eingangsstruktur nach hinten gestellt.

Die Reihenfolge der Felder in OrderHeader wurde getauscht.

Mit diesem Mapping würde -bei Ausgabeformat CSV- der Ausgang wie unten stehend beschrieben, aussehen.

Die Kommentarzeilen werden überlesen, deshalb sind diese in der Ausgangsdatei nicht mehr enthalten.

Der Auftragskopf steht vor den Positionen, die Feldreihenfolge ist: Satzart, Auftragsnummer.

Im Ausgang steht der Auftragskopf nach den Positionen, die Feldreihenfolge ist: Auftragsnummer, Satzart.

Felder entfernenFalls auf der Ausgangsseite nicht alle Felder benötigt werden, können die überflüssigen Felder einfach in der Ausgangsstruktur weggelassen werden.

Felder hinzufügenFalls auf der Ausgangsseite neue Felder benötigt werden, können diese Felder einfach auf der Ausgangsseite hinzugefügt werden. Diese Felder müssen nun noch mit Werten versorgt werden. Ein einfacher Fall ist Fix Value.

Bei Fix Value wird einem Feld ein konstanter Wert zugeordnet (Bsp. PLZ). Die Ansicht der Ausgangsseite mit den Eigenschaften des neuen Feldes ist unten stehend abgebildet:

90 / 140

Abbildung: Vertauschen von Reihenfolgen

Root

Position

recordtype2

posnumber

recordtype1

number

OrderHeader

Root

Position

recordtype2

posnumber

recordtype1

number

OrderHeader 21

#OrderHeader = OH#OrderPosition = OPOH;Order1OP;Pos1 O1OH;Order2OP;Pos1 O2OP;Pos2 O2OH;Order3OP;Pos1 O3OP;Pos2 O3OP;Pos3 O3

Abbildung: Eingangsdaten CSV

12

OP;Pos1 O1Order1;OHOP;Pos1 O2OP;Pos2 O2Order2;OHOP;Pos1 O3OP;Pos2 O3OP;Pos3 O3Order3;OH

Abbildung: Ausgangsdaten CSV

3