Datentyp unbekannter Attribute bestimmen

Sie können den Datentyp, der einem unbekannten Attribut zugewiesen werden soll, auf folgende Arten bestimmen lassen:

Die gezeigt Reihenfolge entspricht der Priorisierung der automatischen Datentyperkennung.

Warnung

Der Datentyp bereits existierender PPM-Attribute kann nicht geändert werden.

Meta-Daten

In den zu importierenden System-Event-Dateien können Sie für jedes Attribut eines System-Events einen PPM-Datentyp sowie optional ein Format (z.B. zur Erkennung von Zeitstempel) und Beschreibung eines Attributes angeben. Die im PPM-System noch unbekannten Attribute werden automatisch mit dem angegebenen Datentyp erzeugt.

Meta-Daten werden im XML-Element metadata angegeben:

<eventlist>

<metadata>

<attr_desc type="...">

<ppmdatatype>...</ppmdatatype>

<format>...</format>

<description>...</description>

</attr_desc>

...

</metadata>

<event>

...

</event>

...

</eventlist>

Die XML-Tags des XML-Elements metadata haben folgende Bedeutung:

XML-Tag

Bezeichnung

attr_desc

Einzelne Meta-Datendefinition eines System-Event-Attributes. Es können mehrere Definitionen angegeben werden.

type

Name des System-Event-Attributes

ppmdatatype

PPM-Datentyp, der dem erzeugten PPM-Attribut zugewiesen werden soll.

format
(optional)

Format, das zum Parsen des Attributwertes verwendet werden soll. Wenn Sie zusätzlich automatisches Mapping aktiviert haben, wird das Format auch dazu verwendet, den Wert in das PPM-Zeitformat zu transformieren.

description
(optional)

Beschreibung des erzeugten PPM-Attributs. Die angegebene Beschreibung wird in der Attributkonfiguration in der Standardsprache des PPM-Mandanten übernommen.

Beispiel

<eventlist>

<metadata>

<attr_desc type="SWWWIHEAD-WI_ID">

<ppmdatatype>TEXT</ppmdatatype>

<description>Work item ID</description>

</attr_desc>

<attr_desc type="SWWWIRET-WI_AED">

<ppmdatatype>DAY</ppmdatatype>

<format>yyyyMMdd</format>

<description>End Date of Work Item</description>

</attr_desc>

</metadata>

<event>

<attribute type="SWWWIHEAD-WI_ID">000000525723</attribute>

<attribute type="SWWWIRET-WI_AED">20011211</attribute>

</event>

</eventlist>

Die für PPM erhältliche Extraktoren (PPM Process Extractor SAP-2-PPM und PPM Process Extractor JDBC-2-PPM) erzeugen automatisch das XML-Element metadata, so dass Sie ohne Zutun die erzeugten System-Event-Dateien direkt importieren können. Die im PPM-System noch unbekannten Attribute werden automatisch mit dem richtigen Datentyp erzeugt.

Mustererkennung

Im XML-Element datatypekeydetectionsettings der Datenquellendatei können Sie eine Liste von Muster angeben (XML-Elemente datatypedetectionpattern), die zur Datentypzuweisung verwendet werden. Die Namen aller neu erkannten Attribute werden mit den Mustern verglichen. Das erste erkannte Muster der Liste bestimmt den Datentyp des Attributes.

Beispiel

Der folgende Auszug der datasource-Datei konfiguriert folgende Namensmuster zur Bestimmung des Datentyps neu erkannter Attribute:

...

<attributesettings autoextendattributes="true">

<datatypedetectionsettings>

<datatypekeydetectionsettings >

<datatypedetectionpattern datatype="LONG">*L

</datatypedetectionpattern>

<datatypedetectionpattern datatype="LONG">L_*

</datatypedetectionpattern>

<datatypedetectionpattern datatype="DOUBLE">D*D

</datatypedetectionpattern>

</datatypekeydetectionsettings>

</datatypedetectionsettings>

</attributesettings>

...

Parsen des Attributwertes

Wenn durch die Mustererkennung kein Datentyp bestimmt werden konnte, wird versucht, den Datentyp aus dem Wert des Attributes zu bestimmen. Folgende Datentypen werden erkannt: BOOLEAN, LONG, DOUBLE, TIME, TIMEOFDAY, DAY und TEXT. Die Aufzählung entspricht auch der Priorisierung der Datentyperkennung.

Datentyp BOOLEAN

Unabhängig von Groß- Kleinschreibung werden die Attributwerte true und false dem Datentyp BOOLEAN zugeordnet. Andere Werte, z. B. 0 und 1 werden nicht als BOOLEAN erkannt.

Datentypen LONG und DOUBLE

Wurde Datentyp BOOLEAN nicht erkannt, wird versucht, numerische Werte zu erkennen. Bei der Erkennung numerischer Datentypen wird zwischen Ganzzahlen und Fließkommazahlen unterschieden. Im Attribut doubleonly des XML-Elements datatypevaluedetectionsettings können Sie mit Wert TRUE (Default-Wert) angeben, dass ganzzahlige Attributwerte dem Datentyp DOUBLE zugewiesen werden.

Die Erkennung des Datentyps DOUBLE erfolgt ohne Angabe eines Tausendertrennerzeichens. Als Dezimaltrenner wird ausschließlich der Punkt erkannt.

Datentypen TIME, TIMEOFDAY und DAY

Wurde kein numerischer Datentyp erkannt, wird versucht, den Attributwert als Zeitstempel (TIME), Tageszeit (TIMEOFDAY) oder Datum (DAY) zu erkennen. Die Aufzählung entspricht auch der Priorisierung der Datentyperkennung. Für die Datentypen Zeitstempel, Tageszeit und Datum können Sie jeweils optional in den XML-Elementen timeformat, timeofdayformat und dayformat Formatzeichenketten angeben, die die Formate der angegebenen Attributwerte beschreiben. Wenn Sie keine Formatzeichenketten angeben, gelten folgende Standardformate:

Datentyp

Standardformat

TIME

dd.MM.yyyy HH:mm:ss

TIMEOFDAY

dd.MM.yyyy

DAY

HH:mm:ss

Datentyp TEXT

Konnte bisher durch Parsen des Attributwertes kein Datentyp erkannt werden, wird dem Attribut der Datentyp TEXT zugewiesen.

Verhalten bei mehrdeutigen Datentypen

Im Attribut numberofvaluestocheck des XML-Elements datatypevaluedetectionsettings können Sie angeben, wie oft der Datentyp durch Parsen des Attributwertes bestimmt werden soll. Ist das XML-Attribut nicht angegeben, wird der Standardwert 100 verwendet. Werden bei der Bestimmung unterschiedliche Datentypen für ein Attribut erkannt, wird der zuvor erkannte Datentyp in einen allgemeinen Datentyp gewandelt. Dabei gilt folgende Tabelle:

Datentyp

Allgemeiner Datentyp

BOOLEAN

TEXT

LONG

DOUBLE, TEXT

DOUBLE

TEXT

TIME

TEXT

TIMEOFDAY

TEXT

DAY

TEXT

TEXT

TEXT

Beispiel

Der folgende Dateiauszug zeigt eine vollständige Konfiguration automatischer Datentypbestimmung durch Parsen des Attributwertes.

...

<attributesettings autoextendattributes="true">

<excludepatterns>

<excludepattern>TEST*</excludepattern>

<excludepattern>USER</excludepattern>

</excludepatterns>

<datatypedetectionsettings>

<datatypekeydetectionsettings>

<datatypedetectionpattern datatype = "LONG">LG_*

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "LONG">*LONG*

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "LONG">*_lng

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "DOUBLE">DOUBLE_*

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "DOUBLE">*_dbl

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "DAY">DAY_*

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "DAY">*_day

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "TIMEOFDAY">TIMEOFDAY_*

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "TIMEOFDAY">*_tod

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "TIME">TIME_*

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "TIME">*_tm

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "TEXT">TEXT_*

</datatypedetectionpattern>

<datatypedetectionpattern datatype = "TEXT">*_txt

</datatypedetectionpattern>

</datatypekeydetectionsettings>

<datatypevaluedetectionsettings

doubleonly = "FALSE"

numberofvaluestocheck = "100">

<timeformat>dd.MM.yyyy HH:mm:ss</timeformat>

<timeofdayformat>HH:mm:ss</timeofdayformat>

<dayformat>dd.MM.yyyy</dayformat>

</datatypevaluedetectionsettings>

</datatypedetectionsettings>

<attributeprefix>AT_</attributeprefix>

</attributesettings>

...