tstDiff: Tabelle

Die TstDiff-Aufgabe TABLE vergleicht zwei CSV-Dateien, die Tabellen mit Objektinhalten enthalten. In der Protokolldatei steht, worin sich die Objektinhalte unterscheiden.

Syntax

tstDiff [tstdiff-Optionen] TABLE <Tabellen-Datei1> <Tabellen-Datei2> <Tabellen-Datenstruktur-Mapping-Datei> ["Opts=<Optionen>"]
  • <Tabellen-Datei1>: Alte Tabellen-Datei
  • <Tabellen-Datei2>: Neue Tabellen-Datei
  • <Tabellen-Datenstruktur-Mapping-Datei>:In dieser Datei kann angegeben werden, welche Datenstruktur für eine Tabelle bei der Objekterzeugung verwendet werden soll. Jeder Eintrag muss in einer neuen Zeile stehen. Ein Eintrag besteht aus dem Namen einer Tabelle, gefolgt von einem Semikolon und abgeschlossen mit dem Namen der zu verwendenden Datenstruktur.

Beispiel einer Mapping-Datei mit zwei Einträgen:

 TADGOB;DZUG-STRUKTUR-ADGOB
 TADPTN;DZUG-STRUKTUR-ADPTN

Hier würde für die Tabelle TADGOB ein Objekt mit der Datenstruktur DZUG-STRUKTUR-ADGOB und für die Tabelle TADPTN ein Objekt mit der Datenstruktur DZUG-STRUKTUR-ADPTN für den Vergleich erzeugt werden.

Wenn in der Datei für eine Tabelle kein Eintrag existiert, so wird der zugehörige Datenstruktur-Name automatisch folgendermaßen gebildet:

DZUG-STRUKTUR- gefolgt vom Namen der Tabelle aber ohne dem ersten Buchstaben (T).

Beispiel: Tabellenname: TADGOB Verwendeter Datenstruktur-Name: DZUG-STRUKTUR-ADGOB

Argumente

Opts: Die Optionen für die Aufgabe TABLE müssen in dem Format „Opts=<Optionen>“ (in Hochkommata!) angegeben werden, um sie von den allgemeinen tstdiff-Optionen unterscheiden zu können. Hier können Sie aufgabenbezogene Optionen angeben, sowie bestimmte allgemeine Optionen übersteuern.

Der Tabellenvergleich kennt folgende Optionen:

  • -c: -c[0|1|2] gibt an, ob bei den Objekten alle Inhalte in der Differenzliste ausgegeben werden sollen, oder nur Unterschiede:
    • -c1 ist der Default und bedeutet, dass der Inhalt von Objekten, in denen ein Unterschied festgestellt wurde, komplett ausgegeben wird.
    • -c0 bedeutet, dass nur die Felder von Objekten ausgegeben werden, in denen Unterschiede festgestellt wurden.
    • -c2 bedeutet, dass alle Inhalte von Objekten komplett ausgegeben werden, egal ob Unterschiede vorhanden sind oder nicht.
  • -dm: Mit der Option -dm[<Schwellenwert>] erreichen Sie, dass in Listenobjekten die Einträge nicht der Reihenfolge nach verglichen werden, sondern dass diejenigen Einträge miteinander verglichen werden, die am meisten gemeinsam haben. Über die Angabe [Schwellenwert] geben Sie an, wie viele Unterschiede höchstens vorhanden sein dürfen, damit Einträge miteinander verglichen werden können: je niedriger der Wert, desto genauer müssen die Einträge übereinstimmen. Der Default ist 0, d.h. die Einträge müssen gleich sein. Jeder Eintrag wird nur ein Mal benutzt. Welche Einträge jeweils miteinander verglichen wurden, ist in der erstellen XML-Datei am Orderattribut erkennbar (bsp: <Item OrderLeft=„2“ OrderRight=„1“> /Item> bedeutet linker Eintrag 2 ist verglichen worden mit rechtem Eintrag 1).
  • -dr: Gibt an, ob die Unterschiede auch bewertet werden sollen:
    • -dr0 : Die Unterschiede werden nicht bewertet.
    • -dr1 : Die Unterschiede werden bewertet.
  • -dv: Mit der Option -dv<Datei> können Sie die Regeln angeben, die beim Vergleich zu berücksichtigen sind.
  • -o: Mit der Option -o<Protokoll-Datei> (für „Output“) können Sie bestimmen, ob das Ergebnis dieses Vergleich in der allgemeinen Outputdatei, oder in eine für dieses Kommando eigene Outputdatei geschrieben werden soll.
  • -v:-v <XSL> veranlasst, dass das erstellte Dokument direkt angezeigt wird.
  • -sep:Mit der Option -sep <Trennzeichen> kann das Zeichen welches die Felder in einer Tabellen-Datei voneinander trennt angegeben werden. Wenn diese Option nicht angegeben ist, wird ¨ (Ascii-Code 168) beim Einlesen einer Tabellen-Datei verwendet.

Protokoll

Im Protokoll wird angegeben, aus welchen Dateien die zu vergleichenden Tabellen stammen.

Danach folgt das eigentliche Differenzprotokoll, eingeleitet durch <DiffTable>.

Der Eintrag 'empty=„yes“' bedeutet, dass das Feld keinen Inhalt hat. Der Eintrag 'missing=„yes“' bedeutet, dass das Feld in der Datenstruktur (DSTR) nicht vorhanden ist.

Der <Count> bei <DiffTableReport> gibt an, wie viele Unterschiede festgestellt wurden.

Beispiel

Kommandozeile

 TstDiff.exe -lo c:\t\tstdiff.log -o c:\t\tstdiff.xml table c:\t\olddatei.txt c:\t\newdatei.txt c:\t\TableDstrMapFile.txt

oder

 TstDiff.exe -lo c:\t\tstdiff.log -o c:\t\tstdiff.xml -ex d:\work\tstdiff.txt

Scriptdatei zur 2. Kommandozeile

 table c:\t\olddatei.txt c:\t\newdatei.txt c:\t\TableDstrMapFile.txt

Auszug aus der Logdatei

USER
2006-07-11-11.31.18.040449: Start TstDiff 2006-07-11-11.31.24.209451: Parsing 'TABLE c:\t\olddatei.txt c:\t\newdatei.txt c:\t\TableDstrMapFile.txt'. 2006-07-11-11.31.24.225449: Executing 'TABLE c:\t\olddatei.txt c:\t\newdatei.txt c:\t\TableDstrMapFile.txt'. 2006-07-11-11.34.12.568449: Done 'TABLE c:\t\olddatei.txt c:\t\newdatei.txt c:\t\TableDstrMapFile.txt'. 2006-07-11-11.34.12.646449: Saving Document as 'c:\t\tstdiff.xml'. 2006-07-11-11.34.12.771449: End TstDiff

Die Tabellen-Dateien müssen das folgende Format haben:

  • In der 1. Spalte muss immer der Tabellenname stehen.
  • Das verwendete Trennzeichen ist über die Optionen anzugeben; der Default ist '„'.

Protokolldatei

  <?xml version="1.0" encoding="ISO-8859-15" standalone="yes" ?> 
+ <DiffTableReport version="1.0" ProtocolStatus="OK">
faq:syntax:tstdiff:table · Zuletzt geändert: 11.04.2023 08:20

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum