Die durch den jeweiligen PPM Prozessextraktor ausgelesenen Daten sollen in dem speziellen Importformat für ein-, zwei- bzw. mehrstufige Dimensionen in die XML-Ausgabedatei geschrieben werden. XML-Ausgabedateien dieses Formats können mit dem Kommandozeilenprogramm rundimdata.bat nach PPM importiert werden (siehe Technische Referenz PPM Datenimport).
Für die korrekte Datenextraktion benötigt der jeweilige Prozessextraktor eine Mapping-Datei, die den Schlüsseln (und ggf. Beschreibungen) der einzelnen Dimensionsstufen die korrekten, gelesenen Feldwerte zuordnet. Diese XML-Konfigurationsdatei hat folgenden Aufbau:
...
<dimdatamapping>
<dimension name="...">
<dimcolmapping>
<datacol name="..."/>
<keyspec key="..."/>
</dimcolmapping>
...
</dimension>
</dimdatamapping>
...
XML-Element |
XML-Attribut |
Beschreibung |
---|---|---|
dimdatamapping |
Root-Element der Mapping-Definition. Enthält eine Liste zu konfigurierender PPM-Dimensionen. |
|
dimension |
name |
Identifizierer der PPM>-Dimension (entspricht dem Wert des XML-Attributes name |
dimcolmapping |
Gruppiert Konfigurationselemente für eine Datenspalte. |
|
datacol |
name |
Name der Datenspalte, in der die Dimensionswerte gespeichert werden |
format |
Formatzeichenkette zum Transformieren des Datenwertes zur Verwendung im PPM-System |
|
keyspec |
key |
Name des Schlüssels der gelesenen Schlüssel-Wert-Zuweisungen |
desckey |
Name des Schlüssels der gelesenen Schlüssel-Beschreibung-Zuweisungen |
|
value |
Angabe eines konstanten Dimensions-
wertes |
Beispiel
Als Ergebnis des Auslesevorgangs werden folgende Schlüssel-Wert-Paare in der XML-Ausgabedatei im PPM-System-Event-Format erwartet:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE eventlist SYSTEM "event.dtd">
<eventlist>
<event>
<attribute type="MAT1_ID-MATNR">1000</attribute>
<attribute type="MAT1_DESC-HTEXT">Motor44</attribute>
<attribute type="MAT2_ID-MTART">32</attribute>
<attribute type="MAT2_DESC-MTBEZ">Components</attribute>
</event>
<event>
<attribute type="MAT1_ID-MATNR">1001</attribute>
<attribute type="MAT1_DESC-HTEXT">Wrench77</attribute>
<attribute type="MAT2_ID-MTART">45</attribute>
<attribute type="MAT2_DESC-MTBEZ">Tools</attribute>
</event>
<event>
<attribute type="MAT1_ID-MATNR">1002</attribute>
<attribute type="MAT1_DESC-HTEXT">Pump43</attribute>
<attribute type="MAT2_ID-MTART">33</attribute>
<attribute type="MAT2_DESC-MTBEZ">Trade goods</attribute>
</event>
</eventlist>
Durch folgende Mapping-Datei werden die Schlüssel-Wert-Paare in das PPM-konforme XML-Format zum Einlesen von Dimensionswerten überführt:
...
<dimdatamapping>
<dimension name="MATERIAL">
<dimcolmapping>
<datacol name="LEVEL1_ID"/>
<keyspec key="MAT1_ID-MATNR"/>
</dimcolmapping>
<dimcolmapping>
<datacol name="LEVEL1_DESC"/>
<keyspec key="MAT1_DESC-HTEXT"/>
</dimcolmapping>
<dimcolmapping>
<datacol name="LEVEL2_ID"/>
<keyspec key="MAT2_ID-MTART"/>
</dimcolmapping>
<dimcolmapping>
<datacol name="LEVEL2_DESC"
<keyspec key="MAT2_DESC-MTBEZ"/>
</dimcolmapping>
</dimension>
</dimdatamapping>
Die Namen der Datenspalten einer PPM-Dimensionsstufe sind fest vorgegeben (LEVEL1_ID, LEVEL1_DESC, LEVEL2_ID, LEVEL2_DESC, ...) und dürfen nicht geändert werden.
Die folgende Tabelle veranschaulicht die Zuordnung der Datenspalten zu den Schlüsseln und Beschreibungen der einzelnen Dimensionsstufen:
dimdata-Konfiguration |
Dimensionskonfiguration |
---|---|
LEVEL1_ID |
Identifizierer der ersten Dimensionsstufe |
LEVEL1_DESC |
Beschreibung der ersten Dimensionsstufe |
LEVEL2_ID |
Identifizierer der zweiten Dimensionsstufe |
LEVEL2_DESC |
Beschreibung der zweiten Dimensionsstufe |
LEVELn_ID |
Identifizierer der n-ten Dimensionsstufe |
LEVELn_DESC |
Beschreibung der n-ten Dimensionsstufe |
Die erzeugte XML-Ausgabedatei im DIMDATA-Format hat folgenden Inhalt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dimdata SYSTEM "dimdata.dtd">
<dimdata>
<dim name="MATERIAL">
<datacols>
<datacol name="LEVEL1_ID"/>
<datacol name="LEVEL1_DESC"/>
<datacol name="LEVEL2_ID"/>
<datacol name="LEVEL2_DESC"/>
</datacols>
<datarow>
<value>1001</value>
<value>Motor44</value>
<value>32</value>
<value>Components</value>
</datarow>
<datarow>
<value>1002</value>
<value>Wrench77</value>
<value>45</value>
<value>Tools</value>
</datarow>
<datarow>
<value>1003</value>
<value>Pump43</value>
<value>33</value>
<value>Trade goods</value>
</datarow>
</dim>