Zeitstempeltransformationen

In PPM stehen verschiedene Attributtransformationen vom Typ Zeitstempeltransformation zur Verfügung.

Die im PPM-System verfügbaren Zeitstempeltransformationen wandeln Quellsystem-Zeitstempelwerte, die in beliebigen Formaten vorliegen, in das zulässige, interne PPM-Format mit dem korrekten PPM-Zieldatentyp um. Die folgende Tabelle gibt einen Überblick über die verfügbaren Zeitstempeltransformationen:

Transformation

PPM-Zieldatentyp

timestamp

TIME

timestamp_epoch

TIME

timeofday

TIMEOFDAY

timeofday_epoch

TIMEOFDAY

day

DAY

day_epoch

DAY

SAGDateTime

TIME

Zeitstempeltransformation timestamp, timeofday, day

Die Vorgaben bezüglich der Konfiguration von Zeitstempeltransformationen sind in der Dokumenttypdefinition eventmapping.dtd festgelegt:

...

<!ELEMENT transformation EMPTY>

<!ATTLIST transformation

type NMTOKEN "timestamp"

format CDATA #REQUIRED

>

...

Im XML-Attribut type wird angegeben, welche der möglichen Zeitstempeltransformationen verwendet werden soll. Dabei ist die Attributtransformation timestamp voreingestellt. Im XML-Attribut format wird angegeben, in welchem Format der Zeitstempel im Quellsystemattribut vorliegt.

Die Angabe im Attribut format entspricht dem Zeitstempelformat von Java:

Symbol

Beschreibung

Datentyp

Beispiel

G

Epochenbezeichner

Text

AD

y

Jahr

Zahl

2003

MM

Kalendermonat

Zahl

09

MMM

Kalendermonat

Text

Sep

MMMM

Kalendermonat

Text

September

d

Kalendertag

Zahl

26

h

Stunde, amerikanische Notation (1-12)

Zahl

12

H

Stunde (0-23)

Zahl

14

m

Minute

Zahl

42

s

Sekunde

Zahl

57

S

Millisekunde

Zahl

978

E

Wochentag

Text

Donnerstag

F

Wochentagswiederholung im Monat

Zahl

2

D

Tag im Jahr

Zahl

189

w

Kalenderwoche

Zahl

27

W

Woche im Mont

Zahl

2 (2. Woche im Monat)

a

Tageszeitbezeichner

Text

PM

k

Stunde (1-24)

Zahl

24

K

Stunde, amerikanische Notation (0-11)

Zahl

7

z

Zeitzone

Text

GMT

´

Escape-Zeichen für Text

Zeichen

´Beispieltext´

´´

einfaches Hochkomma

Zeichen

´Beispiel´´Text´

Beispiel 1

Der Wert 2002-12-24 (<Jahr>-<Monat>-<Tag>) eines Quellsystemattributs wird durch die Formatzeichenfolge yyyy-MM-dd in das PPM-Format transformiert:

...

<transformation type="timestamp" format="yyyy-MM-dd"/>

...

Beispiel 2

Zusammengesetzte Quellsystemattributwerte:

...

<attribute ppmattributetype="AT_END_TIME">

<eventattributetype>ERF_DAT</eventattributetype>

<eventattributetype>ERF_ZEIT</eventattributetype>

<transformation format="yyyyMMddHHmmss"/>

</attribute>

...

Im Quellsystemattribut ERF_DAT liegt das Erfassungsdatum im Format yyyyMMdd und im Quellsystemattribut ERF_ZEIT die Erfassungszeit im Format HHmmss vor. Auszug der XML-Ausgabedatei:

<event>

...

<attribute type='ERF_DAT'>20011230</attribute>

...

</event>

<event>

...

<attribute type='ERF_ZEIT'>120730</attribute>

<attribute type='ERF_DAT'>20011101</attribute>

...

</event>

Für das erste System-Event wird das Attribut AT_END_TIME nicht erzeugt, da das Attribut ERF_ZEIT nicht vorhanden ist.

Beim zweiten System-Event sind beide Attribute vorhanden. Die Attributwerte werden in der angegebenen Reihenfolge zu 20011101120730 zusammengefügt, anschließend mit dem angegebenen Format yyyyMMddHHmmss ausgewertet und in den PPM-konformen Zeitstempel 01.11.2001 12:07:30 umgewandelt.

Beispiel 3

Im Attribut ERF_STD wird nur die Stunde erfasst, in der das System-Event erzeugt wurde. Der Erfassungszeitpunkt liegt dabei immer dreißig Minuten nach der vollen Stunde.

...

<attribute ppmattributetype="AT_END_TIME">

<eventattributetype>ERF_DAT</eventattributetype>

<value>::</value>

<eventattributetype>ERF_STD</eventattributetype>

<value>30</value>

transformation format="yyyyMMdd::HHmm"/>

</attribute>

...

Zugehöriges System-Event der Ausgabedatei:

...

<event>

...

<attribute type='ERF_STD'>12</attribute>

<attribute type='ERF_DAT'>20011001</attribute>

...

</event>

...

Die Attributwerte und konstanten Zeichenfolge werden in der angegebenen Reihenfolge zur Zeichenfolge 20011001::1230 zusammengesetzt und mit dem Format yyyyMMdd::hhmm in den PPM-konformen Zeitstempel 01.10.2001 12:30:00 umgewandelt, der an das PPM-Attribut AT_END_TIME geschrieben wird.

Zeitstempeltransformationen timestamp_epoch, timeofday_epoch und day_epoch

Die Zeitstempeltransformation timestamp_epoch wandelt einen Ganzzahlenwert, der die seit dem 1. Januar 1970 vergangenen Sekunden bzw. Millisekunden angibt, in das interne PPM-Format um. Im XML-Attribut format bestimmen Sie, ob der Ganzzahlenwert die Anzahl der Sekunden (Wert SECOND) oder Millisekunden (Wert Millisekunde) seit dem 01.01.1970 : 0:00:00 GMT angibt. Bei der Berechnung wird die aktuelle Zeitzone des Systems berücksichtigt.

Die Attributtransformationen timeofday_epoch und day_epoch sind analog zu verwenden.

Beispiel (timestamp_epoch)

Im Quellsystemattribut WORK_ITEM-END_TIME ist die Anzahl der Sekunden seit dem 1. 1. 1970 angegeben.

...

<attribute type="WORK_ITEM-END_TIME">1221482578</attribute>

...

Um diesen Attributwert dem Wert des PPM-Attributs AT_END_TIME zuzuweisen, können Sie folgende Mapping-Regel verwenden:

...

<attribute ppmattributetype="AT_END_TIME">

<eventattributetype>
WORK_ITEM-END_TIME

</eventattributetype>

<transformation type="timestamp_epoch"

format="SECOND"/>

</attribute>

...