061 Pdfsam Data Wizard

15
Hilfe der Hierarchie Angabe, können unterschiedliche Knoten verschiedenen aber gleichnamigen Tags zugeordnet werden. Nachfolgend die Einstellungen, die in den Eigenschaften der Eingangsknoten vorgenommen werden müssen. Gibt an, wie oft der Knoten im Eingangsbaum mindestens vorkommen muss. Gibt an, wie oft der Knoten im Eingangsbaum maximal vorkommen darf. Gibt an, auf welchen Tag in den Eingangsdaten sich der Knoten bezieht. Ein Eintrag in diesem Feld entspricht einem Eintrag in Zeichenfolge. Ist im Feld ein Eintrag vorhanden, wird dieser vorrangig vor dem Eintrag in Zeichenfolge behandelt. Nachfolgend die Einstellungen, die in den Eigenschaften der Eingangsfelder vorgenommen werden müssen. Gibt an, wie oft das Feld im Eingangsbaum mindestens vorkommen muss. Gibt an, wie oft das Feld im Eingangsbaum maximal vorkommen darf. Gibt an, auf welchen Tag in den Eingangsdaten sich das Feld bezieht. Ein Eintrag in diesem Feld entspricht einem Eintrag in Zeichenfolge. Ist im Feld ein Eintrag vorhanden, wird dieser vorrangig vor dem Eintrag in Zeichenfolge behandelt. Die Einträge in Zeichenfolge arbeiten -bei XML-Eingangsdaten- immer im Modus ist gleich, unabhängig vom eingestellten Modus! Legt die möglichen Eingabewerte für das Feld fest. Das Feld darf nur einen der angegebenen 61 / 140 Abbildung: Eigenschaften für Eingangsknoten XML 1 2 3 Abbildung: Eigenschaften für Eingangsfelder XML 1 2 3 4 5

Transcript of 061 Pdfsam Data Wizard

Page 1: 061 Pdfsam Data Wizard

Hilfe der Hierarchie Angabe, können unterschiedliche Knoten verschiedenen aber gleichnamigen Tags zugeordnet werden.

Nachfolgend die Einstellungen, die in den Eigenschaften der Eingangsknoten vorgenommen werden müssen.

Gibt an, wie oft der Knoten im Eingangsbaum mindestens vorkommen muss.

Gibt an, wie oft der Knoten im Eingangsbaum maximal vorkommen darf.

Gibt an, auf welchen Tag in den Eingangsdaten sich der Knoten bezieht. Ein Eintrag in diesem Feld entspricht einem Eintrag in Zeichenfolge. Ist im Feld ein Eintrag vorhanden, wird dieser vorrangig vor dem Eintrag in Zeichenfolge behandelt.

Nachfolgend die Einstellungen, die in den Eigenschaften der Eingangsfelder vorgenommen werden müssen.

Gibt an, wie oft das Feld im Eingangsbaum mindestens vorkommen muss.

Gibt an, wie oft das Feld im Eingangsbaum maximal vorkommen darf.

Gibt an, auf welchen Tag in den Eingangsdaten sich das Feld bezieht. Ein Eintrag in diesem Feld entspricht einem Eintrag in Zeichenfolge. Ist im Feld ein Eintrag vorhanden, wird dieser vorrangig vor dem Eintrag in Zeichenfolge behandelt. Die Einträge in Zeichenfolge arbeiten -bei XML-Eingangsdaten- immer im Modus ist gleich, unabhängig vom eingestellten Modus!

Legt die möglichen Eingabewerte für das Feld fest. Das Feld darf nur einen der angegebenen

61 / 140

Abbildung: Eigenschaften für Eingangsknoten XML

12

3

Abbildung: Eigenschaften für Eingangsfelder XML

12

3

45

Page 2: 061 Pdfsam Data Wizard

Werte annehmen. Trifft die Bedingung nicht zu, wird das Parsen mit einer Fehlermeldung abgebrochen. Die erlaubten Werte werden mit Semikolon getrennt.

Die Einstellung Tag für Datensatz in Quell-Eigenschaften wurde auf Order gesetzt. Deshalb wird bei jedem Vorkommen von Order ein neues Datenblatt angefangen.

Die Einstellung Tag für Datensatz in Quell-Eigenschaften wurde auf topNode gesetzt. Deshalb wird nur ein einziges Datenblatt angefangen.

Da beim Eingangsformat XML die Knoten und Felder durch Tagnamen eindeutig gekennzeichnet sind, gibt es im Vergleich zu den Eingangsformaten CSV, DB und Feste Länge einige zusätzliche Möglichkeiten.

Die Reihenfolge der Felder in der Eingangsstruktur muss nicht mit der Reihenfolge im XML-Dokument übereinstimmen. Dies ist möglich, da die Zuordnung der Werte nur anhand der Tag-Namen vorgenommen wird.

Die Tags im XML-Dokument müssen nicht alle in der Eingangsstruktur abgebildet werden. Tags können ausgelassen werden, da die Zuordnung der Werte nur anhand der Tag-Namen vorgenommen wird.

Wiederholt vorkommende Tag-Namen (in unterschiedlichen Hierarchieebenen im XML-Dokument) können auch in der Eingangsstruktur abgebildet werden. In der Eingangsstruktur muss jedoch jedes Element einen eindeutigen Namen haben. Deshalb es erforderlich, dass die Elemente in der Eingangsstruktur abweichende Namen erhalten. Gängige Praxis ist die Erweiterung des

62 / 140

Abbildung: Auswirkung von Tag für Datensatz

record

Position

OrderHeader

Root

record

Position

OrderHeader

Position

<topNode><Order> <OrderHeader> <recordtype1>OH</recordtype1> <number>Order1</number> </OrderHeader> <Position> <recordtype2>OP</recordtype2> <posnumber>Pos1 O1</posnumber> </Position></Order><Order> <OrderHeader> <recordtype1>OH</recordtype1> <number>Order2</number> </OrderHeader> <Position> <recordtype2>OP</recordtype2> <posnumber>Pos1 O2</posnumber> </Position> <Position> <recordtype2>OP</recordtype2> <posnumber>Pos2 O2</posnumber> </Position></Order></topNode>

record

Position

OrderHeader

Root

OrderHeader

Position

Position

1

2

Abbildung: Zusätzliche Möglichkeiten bei XML Format

<Position> <recordtype2>OP</recordtype2> <posnumber>Pos1 O2</posnumber> </Position>

Position

recordtype2posnumber

<Position> <recordtype2>OP</recordtype2> <posnumber>Pos1 O2</posnumber> </Position>

Position

posnumber

12

Page 3: 061 Pdfsam Data Wizard

Namens mit einem Postfix '-n', wobei n für eine laufende Nummer steht.

Der Tag OrderHeader auf oberster Hierarchieebene wird mit Zeichenkette = OrderHeader und Knotennamen OrderHeader konfiguriert.

Der Tag OrderHeader innerhalb der Position wird mit Zeichenkette = OrderHeader und Knotennamen OrderHeader-1 konfiguriert. Der DataWizard findet das korrekte XML-Element, da er den Tagnamen unterhalb des Knotens Position sucht.

In XML Dokumenten können Tags unterhalb eines Knotens wiederholt vorkommen. Solch eine Struktur muss im Datawizard mittels eines Knotens abgebildet werden.

Das Element recordtype unterhalb von Position, das nur einmal vorkommt, wird, wie in den vorherigen Beispielen, als Feld in der Eingangsstruktur abgebildet.

Das Element posnumber unterhalb von Position darf mehrmals vorkommen. Da es sich um eine Wiederholung handelt, muss dieses Element unterhalb eines Knotens abgebildet werden. Bedingungen für die Anzahl der Elemente können ganz normal mittels Min-/Maxwerte im Knoten eingestellt werden.

Unterhalb des Knotens posnumber muss ein Feld angelegt werden, um den Wert des XML-Elementes aufzunehmen. Dieses Feld muss zwingend so heißen wie der Knotennamen plus Postfix '_val'. Begründung: XML-Element posnumber ist aus Sicht des Datawizards kein echter Knoten. Damit der Wert des XML-Elements in das Feld eingetragen wird, muss die Namenskonvention eingehalten werden, abweichende Namen werden als echte Unterelemente gesucht (und natürlich nicht gefunden).

Ein XML-Element kann, neben dem eigentlichen Wert, auch noch ein oder mehrere Attribute enthalten. Falls Attribute verwendet werden, muss für das XML-Element ein Knoten und nicht nur ein Feld in die Eingangsstruktur eingefügt werden.

63 / 140

Abbildung: Mehrfach vorkommende Tagnamen

<Order> <OrderHeader> <recordtype1>OH</recordtype1> <number>Order2</number> </OrderHeader> <Position> <recordtype2>OP</recordtype2> <posnumber>Pos1 O2</posnumber> <OrderHeader> <recordtype1>OHxx</recordtype1> <number>Order2xx</number> </OrderHeader> </Position> <Position> <recordtype2>OP</recordtype2> <posnumber>Pos2 O2</posnumber> </Position></Order>

Order

Position

OrderHeader

recordtype2

posnumber

OrderHeader-1

1

2

Abbildung: Mehrfach vorkommende Elemente in XML

<Position> <recordtype2>OP</recordtype2> <posnumber>Pos1 O2</posnumber> <posnumber>Pos12 O2</posnumber> <posnumber>Pos13 O2</posnumber> </Position>

Position

recordtype2

posnumber_val

posnumber

12

3

Page 4: 061 Pdfsam Data Wizard

Feld, das XML-Element recordtype2 ohne Attribut darstellt.

Knoten, der gebraucht wird, um das XML-Element posnumber mit Attribut und Wert darzustellen. Der Name des Knotens darf beliebig heißen, Zeichenkette bzw. Pfad muss recordtype2 lauten.

Unterhalb des Knotens posnumber muss ein Feld angelegt werden, um den Wert des Attributes aufzunehmen. Der Name des Feldes darf beliebig heißen, muss aber das Postfix '_attr' haben. Mit dem Postfix wird dem Parser signalisiert, dass es sich um ein Attribut handelt. Zeichenkette bzw. Pfad muss wie das Attribut selbst heißen.

Unterhalb des Knotens posnumber muss ein Feld angelegt werden, um den Wert des XML-Elementes aufzunehmen. Dieses Feld muss zwingend so heißen wie der Knotennamen plus Postfix '_val'. Begründung analog zu .

In XML-Schemas kann man festlegen, dass -auf einer Hierarchieebene- nur eines von mehreren XML-Elementen im Dokument vorkommen darf. Diese Alternativen können in der Eingangsstruktur ebenfalls abgebildet werden. Unten stehend wird gezeigt, wie diese Eigenschaft in der Eingangsstruktur abgebildet werden kann.

Das XML-Element posnumber kann n-mal unterhalb von Position vorkommen.

Das XML-Element pos-alt kann n-mal unterhalb von Position vorkommen. Es dürfen jedoch nur Elemente von oder von unterhalb von Position vorkommen.

Um Alternative Elemente abzubilden, wird in der Eingangsstruktur ein Knoten benötigt, dessen Eigenschaft Unterknoten sind alternativ auf true gesetzt werden muss. Der Name des Knotens ist frei wählbar, es darf nur einer seiner Unterknoten vorkommen. Der Pfad des Knotens bleibt leer. Die Anzahl der Wiederholungen der Unterknoten ist in deren Min/Max Werten einzustellen. Dabei muss der Wert für Mindestens zwingend 0 sein!

Das Feld wird als Knoten abgebildet. In diesem Beispiel ist es erforderlich als Knoten und nicht als Feld abzubilden, auch wenn kein Attributwert enthalten würde. Begründung: Der DataWizard kann nur Unterknoten als Alternativen behandeln, keine Felder.

64 / 140

Abbildung: XML-Element mit Attributwert

<Position> <recordtype2>OP</recordtype2> <posnumber attribute1=“xyz“>Pos1 O2</posnumber> </Position>

Position

recordtype2

attribute1_attr

posnumber

posnumber_val

1

2 3

4

Abbildung: Alternative Knoten

<Position> <recordtype2>OP</recordtype2> <posnumber attribute1=“xyz“>Pos1 O2</posnumber> </Position>

<Position> <recordtype2>OP</recordtype2> <pos-alt attribute1=“xyz“>Pos1 O2</pos-alt> </Position>

Position

recordtype2

posnumber_attr

posnumber

posnumber_val

pos-alt_attr

pos-alt

pos-alt_val

choice

1

2

3

4

5

Page 5: 061 Pdfsam Data Wizard

Analog zu .

Eingangsformat - SAPSAP IDOCs sind bereits in einer Baumstruktur angelegt. Deshalb ähneln sich, SAP IDOCs und die zugehörigen Eingangsbäume sehr stark. Häufig werden die EDI Strukturen von Unternehmen für ihre Zwecke verändert, die Eingangsstruktur kann in diesem Fall vom Benutzer angepasst werden.

65 / 140

Page 6: 061 Pdfsam Data Wizard

66 / 140

Page 7: 061 Pdfsam Data Wizard

67 / 140

Page 8: 061 Pdfsam Data Wizard

Einstellung um SAP IDOC zu parsen.

Öffnet einen Dialog um die Struktur des IDOCs aus dem SAP System einzulesen.

Alias, der angibt aus welchem SAP System sich der DataWizard die IDOC Struktur holen soll.

Gibt den Typ des IDOCs auf SAP Seite an. Diese Angabe ist zusammen mit der Schlüssel für den IDOC auf dem SAP System. Das Feld ist eine Combo Box, die Liste enthält alle IDOCTYPEN, die auf dem SAP System erstellt werden können.

Der Beschreibungstext zum IDOCTYP, wird aus dem SAP System geholt.

Die Erweiterung von IDOCTYP . Wird auf SAP Seite zusammen mit auf den DOCTYP umgeschlüsselt. Damit ist es möglich auch angepasste IDOCTYPEN einzulesen.

Mit dem Button wird die Struktur des IDOCs eingelesen und als Eingangsstrukur des Profils abgelegt.

Tipps für die PraxisIn komplexen Eingangsdaten ist es oftmals schwierig den Überblick zu bewahren. Deshalb gibt es die Möglichkeit, die Eingangsstruktur mit Testdaten zu füllen. Dies wird durch den Eintrag Testdaten laden im Kontextmenue auf dem Wurzelelement der Eingangsstruktur ausgelöst. Die eingelesenen Testdaten werden unterhalb der Feldnamen angezeigt. Die Funktion lädt die Werte des ersten Datenblatts in die Eingangsstruktur. Wiederholungen der Strukturelemente lassen sich so aber nicht einsehen.Nach erstmaligem Einladen der Testdaten können diese mittels nochmal testen im Kontextmenue erneut eingelesen werden.

Sind Werte von mehreren Datenblättern oder Wiederholungen von Strukturelementen von Interesse, so kann diese Information wie folgt erreicht werden:

● Löschen der evtl. vorhandenen Ausgangsstruktur.

● 1:1 Mapping auslösen.

● Teste Zuordnungen mit Teste Zuordnungen ausführen, im Ergebnis spiegelt sich der eingelesene Eingangsbaum wider.

68 / 140

Abbildung: Einstellungen SAP Parser

12

Abbildung: Dialog um SAP IDOC Struktur einzulesen.

12 34

5

Page 9: 061 Pdfsam Data Wizard

Phase 3: Mapping

AllgemeinesUnter „Mapping“ wird die Zuordnung von Feldern in der Eingangsstruktur zu Feldern in der Ausgangsstruktur verstanden. Analog zur Eingangsstruktur bestimmt die Ausgangsstruktur den Altgorithmus, wie die Ausgangsdaten erstellt werden. Dabei können neben der einfachen Zuordnung von Feld zu Feld auch Manipulationen vorgenommen werden. Diese Manipulationen können auch feldübergreifend sein. Die Möglichkeiten der Zuordnung/Manipulation bestimmen wesentlich die Leistungsfähigkeit eines Konverters.

69 / 140

Page 10: 061 Pdfsam Data Wizard

Arbeitsweise des Mappers

In obenstehender Abbildung ist die einfachste Möglichkeit eines Mappings dargestellt. Es handelt sich um das sogenannte 1:1 Mapping, bei dem die Eingangsstruktur unverändert auf die Ausgangsstruktur abgebildet wird. Da hierbei keine Änderungen vorgenommen werden, hat dieses Mapping keine Auswirkungen und kann bei Quell-Eigenschaften durch kein Mapping ersetzt werden, siehe Abschnitt Phase 2.Für die Elemente der Ausgangsstruktur gilt, wie auf der Eingangsseite, die Namen der Knoten und Felder müssen eindeutig sein (innerhalb der jeweiligen Struktur). Der Ausgangsbaum entsteht durch Zuweisung der Elemente in der Ausgangsstruktur zu Elementen der Eingangsstruktur. Dabei können verschiedene Bedingungen angegeben werden, die die Erstellung des Ausgangsbaumes weitreichend beeinflussen. Folgende Eigenschaften beeinflussen die Erstellung der Elemente in der Ausgangsstruktur:

● Name des Pfades (bei Knoten) → Gibt an, wie oft ein Knoten im Ausgangsbaum wiederholt wird.

● Relativer/absoluter Pfad (bei Knoten) → Beeinflusst zusammen mit dem Namen des Pfades, wie oft ein Knoten im Ausgangsbaum wiederholt wird.

● Abarbeitungsreihenfolge → Beeinflusst, analog zum Pfadnamen, wie oft ein Knoten im Ausgangsbaum wiederholt wird.

● Filter (bei Knoten) → Enthält Bedingungen wann ein Knoten im Ausgangsbaum erstellt wird.

● Berechnungsfeld (bei Feld) → Gibt an, ob ein Feld in den Ausgangsdaten enthalten ist, oder nur zur Berechnung durchlaufen wird.

● Filter (bei Feld) → Enthält Manipulationsregeln für Felder, die nicht exakt dem Dateninhalt eines Eingangsfeldes entsprechen.

Alle weiteren Eigenschaften der Knoten und Felder auf der Ausgangsseite beeinflussen nicht die Struktur, sondern nur Datenkonsistenz, Logging-Funktionalität oder Umwandlung des Ausgangsbaumes in die Ausgangsformate.

Nachfolgend werden die Eigenschaften zur Beeinflussung des Ausgangsbaums anhand von Beispielen erklärt. Zunächst soll auf die Unterscheidung von Ausgangsstruktur und Ausgangsbaum hingewiesen werden.

70 / 140

Abbildung: Transformation Eingangsbaum in Ausgangsbaum

Root

Position

recordtype2

posnumber

recordtype1

number

OrderHeader

Root

Position

recordtype2

posnumber

recordtype1

number

OrderHeader

1:1

Page 11: 061 Pdfsam Data Wizard

Im Ausgangsbaum sind die Anzahl Datenblätter (records) aus dem Eingangsbaum vorhanden. Diese Anzahl kann nur durch die Eingangsstruktur, nicht durch die Ausgangsstruktur beeinflusst werden. Innerhalb eines Datenblattes wird der Ausgangsbaum aufgebaut.

Knoten der Ausgangsstruktur, wird in Ausgangsbaum durch abgebildet.

Knoten im Ausgangsbaum. Der Knoten entsteht nur, wenn auch Daten unterhalb des Knotens vorhanden sind. Der Knoten im Ausgangsbaum kann -im Gegensatz zur Ausgangsstruktur- beliebig oft vorkommen.

Feld in der Ausgangsstruktur, wird durch abgebildet.

Feld im Ausgangsbaum. Das Feld wird durch Zuweisung oder Manipulationen mit einem Wert gefüllt. Das Feld kann unterhalb eines Knotens nur einmal vorkommen.

Fehlerbehandlung beim MappenNormalerweise wird der Profildurchlauf abgebrochen, wenn ein Fehler beim Mappen auftritt. Solche Fehler können z.B. Verletzungen der Min/Max Anzahlen oder fehlende Pflichtfelder sein. In manchen Anwendungen ist es aber nicht gewünscht, dass der komplette Profildurchlauf bei einem Fehler abgebrochen wird. Ein Beispiel ist das Mapping von vielen Aufträgen in einer einzigen Datei. Tritt bei einem Auftrag ein Fehler auf, soll nur der verursachende Auftrag übergangen werden, alle anderen Aufträge sollen abgearbeitet werden.

Das beschriebene Verhalten kann mit dem untenstehenden Schalter erreicht werden

Mit dem Schalter wird die Fehlerbehandlung auf Datenblatt-Ebene eingeschaltet.

Die Fehlerbehandlung kann nur auf Datenblatt Ebene aktiviert werden. Als Folge muss die logische Einheit (z.B. Auftrag) eines Mappings in einem Datenblatt abgebildet werden. Tritt in dem Datenblatt beim Mappen ein Fehler auf, wird das Datenblatt von allen nachfolgenden Schritten als nicht vorhanden angesehen.

Hinweis: Es handelt sich jedoch um keinen Abbruch in transaktionaler Bedeutung. Variablen, die vor dem Auftreten des Fehlers im Datenblatt geändert wurden, behalten die geänderten Werte bei!

71 / 140

Abbildung: Ausgangsstruktur und Ausgangsbaum

Root

Position

recordtype2posnumber

recordtype1

number

OrderHeader

record

Position

OPPos1 O1

OH

Order1

OrderHeader

Root

Position

OP

Pos2 O1

12 3

4 5

Abbildung: Fehlerbehandlung beim Mappen

1

Page 12: 061 Pdfsam Data Wizard

Verarbeiten von großen Datenmengen (Enterprise Version)Um große Datenmengen oder -Strukturen verarbeiten zu können, kann der DataWizard beim Mappen die erzeugten Ausgangsbäume auf die Festplatte auslagern. Dieses Auslagern kann pro Profil aktiviert werden. Standard Einstellung ist NICHT auslagern. Neben der Entscheidung ob ausgelagert werden soll, kann auch noch ein Grenzwert angegeben werden, bei dessen Überschreitung die Auslagerung angestoßen wird. Ist als Grenzwert 0 eingetragen, wird sofort ausgelagert.

Gibt an, ob Ausgangsdaten ausgelagert werden sollen.

Gibt die Speicherauslastung der virtuellen Maschine an, ab der ausgelagert werden soll.

Vorgehen bei der Auslagerung: Ist die Auslagerung aktiviert, wird nach jedem Datenblatt geprüft, ob die prozentuale Speicherauslastung innerhalb der virtuellen Maschine größer ist als in angegeben. Ist dies der Fall, werden alle bereits erstellten Datenblätter auf die Festplatte ausgelagert. Die Speicherauslastung berücksichtigt nicht den Speicherverbrauch des aktuellen Profils, sondern die gesamte Speicherauslastung, also alle Profile plus die Programmresourcen. Es werden ausschließlich Datenblätter auf der Ausgangsseite ausgelagert, die Eingangsseite wird nicht ausgelagert!

Schematische Darstellung der Speicherauslastung der virtuellen Maschine

Schematische Darstellung der erstellten Datenblätter auf der Ausgangsseite.

72 / 140

Abbildung: Auslagern von Ausgangsdaten

1 2

Abbildung: Speicherverbrauch ohne Auslagern

1

2

Page 13: 061 Pdfsam Data Wizard

Eingestellte Obergrenze für Speicher, z.B. 40%.

Nach dem n-ten Datenblatt wurde die Obergrenze überschritten. Der DataWizard stellt dies nach dem Abschluss des Datenblatts fest, und lagert alle erstellten Datenblätter aus.

Speicherauslastung nach Auslagerung aller Datenblätter auf der Ausgangsseite.

Nach weiteren x Datenblättern wurde die Speichergrenze erneut überschritten, erneut werden alle Datenblätter auf der Ausgangsseite ausgelagert.

Nachteil der oben aufgeführten Lösung ist, dass der DataWizard eventuell mehr Datenblätter auslagert als erforderlich. Dies führt bei der weiteren Verarbeitung zu Performance Einbußen. Um diesen Nachteil zu vermeiden kann in der Konfigurationsdatei startup.xml folgender Eintrag vorgenommen werden:

Die Aktivierung des lazy Swapping verändert den Algorithmus der Auslagerung wie folgt:

Eingestellte Obergrenze für Speicher, z.B. 40%.

Nach dem n-ten Datenblatt wurde die Obergrenze überschritten. Der DataWizard stellt dies nach dem Abschluss des Datenblatts fest, und lagert 1/3 (aber maximal 100) der Datenblätter auf der Ausgangsseite aus. Ist danach die Speicherauslastung immer noch zu hoch, wird ein weiteres Drittel (aber wieder maximal 100) der Datenblätter ausgelagert. Dieser Vorgang wieder holt sich so oft bis die Speichergrenze unterschritten, oder alle Datenblätter ausgelagert sind.

Speicherauslastung nach Unterschreitung der Obergrenze (nach n Wiederholungen von )

Nach weiteren x Datenblättern wurde die Speichergrenze erneut überschritten, erneut werden die Datenblätter analog zu ausgelagert.

Speicherauslastung nach Unterschreitung der Obergrenze (nach n Wiederholungen von )

Datensatz bei Fehler überspringenEnthalten Daten eine große Anzahl von logisch unabhängigen Einheiten (z.B. Aufträge), ist es manchmal unerwünscht, wenn die Verarbeitung der Datei bei einem Fehler abgebrochen wird. Es existiert nun ein Schalter, mit dem Fehler beim Mappingvorgang (z.B. Pflichtfeld nicht gefüllt), auf ein Datenblatt begrenzt werden. Damit können die folgenden (fehlerfreien) Einheiten gemappt und verarbeitet werden. Die Daten des Datenblatts werden für keine der nachfolgenden Phasen mehr berücksichtigt.

73 / 140

Abbildung: Speicherauslastung mit normaler Auslagerung

1

2

3

4

Abbildung: Speicherauslastung mit lazy Auslagerung

1 34

5

2

<Set name="lazySwapping">True</Set>Abbildung: Aktivieren von lazy Swapping

Page 14: 061 Pdfsam Data Wizard

Es handelt sich bei dem Mechanismus jedoch nicht um eine Aktion im transaktionalen Sinne! Evtl. bereits veränderte Variablenwerte, werden durch das Verwerfen des Datenblatts nicht rückgängig gemacht.

Gibt an, ob Mapping bei Auftreten eines Fehlers nicht abgebrochen werden soll.

Tritt ein Fehler auf, wird ein Eintrag in die Logfiles gemacht. In späteren Versionen des DataWizards wird es möglich sein, für übersprungene Datenblätter eine Mail zu versenden.

Anordnung von Elementen in der AusgangsstrukturDie Elemente (Knoten und Felder) in der Ausgangsstruktur können vom Benutzer beinahe beliebig angeordnet werden. Als Rahmenbedingung gilt, dass Wiederholungen von Strukturen unterhalb eines Knotens angeordnet werden müssen. Das Programm lässt nicht zu, dass Kinder, Enkel,... eines Knotens in diesem als absoluten Pfad angeben werden.

Eigenschaften von KnotenKnoten in der Ausgangstruktur haben im Mapping folgende Aufgaben:

● Wiederholungen von Datenstrukturen zu ermöglichen und zu überprüfen

● Bedingungen festzulegen, wann ein Knoten und die darunter liegende Datenstrukturen ignoriert (übergangen) werden sollen.

● Knoten und deren Kinder nicht für die Ausgangsdaten zu berücksichtigen.

Die angeführten Aufgaben sollen nun anhand von Beispielen verdeutlicht werden. Das Mapping arbeitet auf dem vom Parser erzeugten Eingangsbaum. Die ursprüngliche Struktur der Eingangsdaten (CSV, FIX, etc.) spielt keine Rolle mehr.

Wiederholungen von Knoten aufgrund der AusgangsstrukturDie Ausgangsstruktur steuert die Anzahl von Wiederholungen von Knoten. Die Wiederholungen werden mittels der Eigenschaften Pfad und Ist relativer Pfad gesteuert.

In der nachfolgenden Abbildung werden die Auswirkungen der Knoten-Eigenschaft Pfad anhand von zwei Beispielen dargestellt.

74 / 140

Abbildung: Einstellung der Eigenschaften 'Pfad' und 'Ist relativer Pfad'

Abbildung: Fehler beim Mappen überspringen

1

Page 15: 061 Pdfsam Data Wizard

Eingangsstruktur, auf diese Struktur bezieht sich die Ausgangsstruktur.

Ausgangsstruktur, steuert die Erstellung des Ausgangsbaumes.

Die Eigenschaft Pfad des Knotens wurde auf gleichnamigen Eingangsknoten gesetzt. Die Namen der Knoten sind frei wählbar und müssen nicht gleich lautend sein. Der Pfadname muss jedoch ein Knotenname aus der Eingangsstruktur sein.

Alternativ zu wurde der Pfad des Knotens auf Position gesetzt. Es kann natürlich immer nur ein Pfad angegeben werden.

Der Eingangsbaum, der aus der Eingangsstruktur erstellt wurde.

Der Ausgangsbaum, der aus dem Eingangsbaum mittels Ausgangsstruktur und erstellt wurde. Da der zugeordnete Knoten im Eingangsbaum nur einmal vorkommt, wird der Knoten im Ausgangsbaum ebenfalls nur einmal erstellt.

Der Ausgangsbaum, der aus dem Eingangsbaum mittels Ausgangsstruktur und erstellt wurde. Der zugeordnete Knoten im Eingangbaum (Position) kommt mehrfach vor, im Ausgangsbaum wird der Knoten ebenso oft wiederholt.

Die Knoten-Eigenschaft Pfad arbeitet mit einer weiteren Eigenschaft von Knoten zusammen, mit dem relativen Pfad. Dieser Schalter bestimmt, aus welcher Richtung (oben oder unten) die Vorkommen des zugeordneten Pfades gezählt werden. In Abhängigkeit dieses Schalters werden unterschiedlich viele Vorkommen des zugeordneten Knotens gefunden. In den nachfolgenden Abbildungen sind Beispiele zur Verdeutlichung aufgeführt. Da die bisherigen Beispiele nicht komplex genug sind, um die Leistungsfähigkeit des Mappers zu verdeutlichen, wurde in den nachfolgenden Beispielen eine Ebene zusätzlich eingefügt.

75 / 140

Abbildung: Wiederholung von Knoten

Root

Position

recordtype2

posnumber

recordtype1

number

OrderHeader

record

Position

OP

Pos1 O1

OH

Order1

OrderHeader

Root

Position

OP

Pos2 O1

Root

recordtype1

number

OrderHeader

record

OH

Order1

OrderHeader

Root

record

OH

Order1

OrderHeader

Root

OH

Order1

OrderHeader

123

4

5 6

7