Werden sehr große Datenbestände extrahiert und als System-Events in eine einzige Ausgabedatei geschrieben, wird diese u. U. unhandlich. In solchen Fällen kann bei entsprechender Konfiguration der verwendeten Datenquelle der extrahierte Datenbestand in beliebig viele XML-Ausgabedateien geschrieben werden. Sie brauchen dazu lediglich im XML-Element dataextraction Angaben zur maximalen Anzahl von System-Events pro Ausgabedatei und zum Ausgabedateinamen zu machen.
Beispiel (für eine CSV-Datenquelle, für die Typen JDBC und SAP analog)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE datasource SYSTEM "datasource.dtd">
<datasource name="BILLING" type="CSV">
<dataextraction>
<outputfilename>..\custom\<clientname>\data\
BILLING_data_$EXTRACTIONDATE$_$EXTRACTIONTIME$.zip
</outputfilename>
<numberofeventsperxmlfile>
100000
</numberofeventsperxmlfile>
</dataextraction>
...
<systemconfig>...</systemconfig>
<eventspec>...</eventspec>
...
</datasource>
Für die Datenquelle BILLING wird im XML-Element numberofeventsperxmlfile festgelegt, dass jede XML-Ausgabedatei 100000 System-Events enthalten soll, wobei
die zuletzt erzeugte Ausgabedatei die restliche Anzahl an Events enthält.
Im XML-Element outputfilename sind Pfad und Name der Ausgabedateien angegeben. Mittels dieser Angaben werden im
angegebenen Ausgabeverzeichnis XML-Dateien mit Namen in der Form BILLING_data_$EXTRACTIONDATE$_$EXTRACTIONTIME$.zip erzeugt, wobei die Namensvariable $EXTRACTIONDATE$ das Extraktionsdatum und $EXTRACTIONTIME$ die Extraktionszeit enthält. Die erzeugten Ausgabedateien werden mittels _<x> am Namensende durchnummeriert, wobei x eine fortlaufende Ziffer ist und die zuerst erzeugte Ausgabedatei nicht nummeriert
wird.
Wären am 23.06.2007 um 11:36:45 Uhr mit der gezeigten Beispielkonfiguration 369000 System-Events ausgelesen worden, wären folgende Ausgabedateien erzeugt worden:
BILLING_data_20070623_113645.zip
(mit 100000 System-Events)
BILLING_data_20070623_113645_1.zip
(mit 100000 System-Events)
BILLING_data_20070623_113645_2.zip
(mit 100000 System-Events)
BILLING_data_20070623_113645_3.zip
(mit 69000 System-Events)
In der folgenden Tabelle sind alle Konfigurationsmöglichkeiten aufgelistet:
XML-Element |
Beschreibung |
numberofeventsperxmlfile |
Feste Anzahl an System-Events, die in eine Ausgabedatei geschrieben wird. Die zuletzt erzeugte Ausgabedatei enthält die restliche Anzahl der Events. Fehlt das Element, werden alle System-Events in eine Ausgabedatei geschrieben. |
outputfilename |
Pfad und Namensmuster der Ausgabedateien. Es werden die Formate XML und ZIP unterstützt. Eine ZIP-Ausgabedatei enthält eine gleichnamige XML-Ausgabedatei. Die Ausgabedateien eines Extraktionsvorganges werden mittels _<x> am Namensende fortlaufend nummeriert, wobei die zuerst erzeugte Datei nicht nummeriert wird. |
Folgende Variablen sind im Ausgabedateinamen (outputfilename) erlaubt und untereinander frei kombinierbar:
Variable (Datenquellentyp) |
Bezeichnung |
$EXTRACTIONDATE$ |
Extraktionsdatum (Format: yyyyMMdd) |
$EXTRACTIONTIME$ |
Extraktionszeit (Format: HHmmss) |
$BEGINDATE$ |
Startdatum des Auslesezeitraums |
$BEGINTIME$ |
Startzeit des Auslesezeitraums |
$ENDDATE$ |
Startdatum des Auslesezeitraums |
$ENDTIME$ |
Endzeit des Auslesezeitraums |
$VALUECONSTRAINT$ |
Ausgabeformat: Ausgabe der Operatoren und ganzzahligen Vergleichswerte, die zum Einschränken des
gelesenen Datenbestandes verwendet werden, der Name einer Ausgabedatei könnte bspw.
lauten: outfile_gt_230_le_300_x.xml, wobei x die Ziffer der durchlaufenden Nummerierung ist. |
Die Aufteilung des gelesenen Datenbestandes auf mehrere Ausgabedateien können Sie bequem im PPM Customizing Toolkit in der Datenquellenverwaltung des Mandanten über Weitere Einstellungen... im Bereich Datenextraktion einstellen.