Konfiguration mehrerer Ausgabedateien

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:

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$
(CSV, SAP, JDBC)

Extraktionsdatum (Format: yyyyMMdd)

$EXTRACTIONTIME$
(CSV, SAP, JDBC)

Extraktionszeit (Format: HHmmss)

$BEGINDATE$
(SAP, JDBC)

Startdatum des Auslesezeitraums
(Format: yyyyMMdd)

$BEGINTIME$
(SAP, JDBC)

Startzeit des Auslesezeitraums
( Format: HHmmss)

$ENDDATE$
(SAP, JDBC)

Startdatum des Auslesezeitraums
(Format: yyyyMMdd)

$ENDTIME$
(SAP, JDBC)

Endzeit des Auslesezeitraums
(Format: HHmmss)

$VALUECONSTRAINT$
(SAP, s. Kap. Bedingungsoperatoren sowie JDBC, s. Kap. Bedingungsoperatoren)

Ausgabeformat:
<Operator>_Wert1 oder <Operator>_Wert1_<Operator>_Wert2

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.
Darstellung der Operatoren:
größer als: gt
größer oder gleich: ge
kleiner: lt
kleiner oder gleich: le

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.