Umgebungsrelevante Berechnungen

ZAttributeCalculatorTransformUniversalMappingByParam

Diese Berechnungsklasse ermittelt den Wert eines Attributes an Hand einer Mapping-Datei aus dem Wert eines anderen Attributes. Die Attributwerttransformation kann sowohl auf Prozess- als auch auf Objektattribute angewendet werden.

Sie können das Verhalten der Berechnungsklasse durch die Angabe der folgenden Parameter steuern:

Parameter

Beschreibung

Beispielwert

attrname

Quellsystemattribute, deren Werte umgesetzt werden

AT_PLZ

mappingfile

Datei, die die Mapping-Informationen enthält (Schlüssel-Wert-Paare)

Das Verzeichnis mit der Mapping-Datei geben Sie relativ zum Verzeichnis data_ppm\bin an. Das Verzeichnis liegt unter <PPM-Installationsverzeichnis>\ppm\server\bin\work\.

..\custom\<ppmclient>\xml\Zeilenumbruch
attrtrans\PLZ_Ort.mappings

defaultcopy

Bestimmt das Verhalten, wenn kein Mapping zum Attributwert gefunden wird.
Zulässige Werte: TRUE, FALSE
TRUE: Der Wert des Quellattributs wird unverändert in das Zielattribut geschrieben.
FALSE: Als Wert wird in das Zielattribut nicht gepflegt geschrieben.

FALSE

Beachten Sie, dass ein in der Berechnungsvorschrift eventuell angegebener Standardwert (XML-Element defaultvalue) unabhängig vom Parameter defaultcopy verwendet wird. Ist ein Standardwert angegeben, hat dieser Vorrang.

Beispiel

Im folgenden Beispiel werden die Werte des Prozessattributes AT_PLZ auf das Prozessattribut AT_ORT umgesetzt. Die Umsetzung ist in der Datei PLZ_Ort.mappings angegeben. Wenn für eine Postleitzahl kein Ort gefunden wird, erhält das Attribut AT_ORT den Wert nicht gepflegt.

Auszug aus der Kennzahlenkonfiguration

Ermittle die neuen bzw. geänderten MM-Belege ...

<calcattr name="AT_ORT" type="PROCESS">

<defaultvalue>nicht gepflegt</defaultvalue>

<calcclass name="com.idsscheer.ppm.server.

keyindicator.attributecalculator

ZAttributeCalculatorTransformUniversalMappingByParam">

<calcparam key="attrname" value="AT_PLZ"/>

<calcparam key="mappingfile" value="PLZ_Ort.mappings"/>

</calcclass>

</calcattr>

...

Inhalt der Mapping-Datei PLZ_Ort.mappings:

66115 = Saarbuecken

10117 = Berlin-Mitte

14612 = Falkensee

Achten Sie darauf, dass Ihre verwendeten Mapping-Dateien reguläre Java-Property-Dateien sind. Wenn diese Umlaute oder andere Sonderzeichen enthalten, müssen sie mittels native2ascii umgewandelt werden. Näheres zum Konvertieren von Dateien mit nativen Inhalten in ASCII-Dateien entnehmen Sie den Hilfeseiten der Webseite von Sun Microsystems, Inc..

ObjectCounterByEpcEnv

Die Berechnungsklasse ObjectCounterByEpcEnv berechnet die Anzahl der der aktuellen Funktion vorangehenden bzw. nachfolgenden Funktionen, wobei Ereignisse und Konnektoren nicht berücksichtigt werden. Die aktuelle Funktion ist die Funktion, für die die Berechnungsvorschrift ausgeführt wird.

Sie können das Verhalten der Berechnungsklasse durch die Angabe der folgenden Parameter steuern:

Parameter

Beschreibung

Beispielwert

DIRECTION
(einwertig)

Richtung der Suche nach Vorgänger- bzw. Nachfolgerfunktionen von der aktuellen Funktion aus

FORWARD (Nachfolgerfunktionen) oder
BACKWARD (Vorgängerfunktionen) in Bezug auf die im zugehörigen calcattr-Tag referenzierte(n) Funktion(en)

ENVTYPE
(einwertig)

Suche nach Funktionen in der direkten Nachbarschaft der Funktion oder in der gesamten Prozessinstanz

DIRECT (nur unmittelbar benachbarte Funktionen)

INDIRECT (alle Funktionen in der angegebenen Suchrichtung)

OBJECTNAMEFILTER
(optional, mehrwertig)

Einschränkung der Suche nach bestimmten internen Funktionsnamen mit beliebiger Verwendung der Platzhalter * und ?. Mehrere Namensmuster werden mittels key wie folgt angegeben:

OBJECTNAMEFILTER.0
OBJECTNAMEFILTER.1
OBJECTNAMEFILTER.2 usw.

*AUFT*,????AUFT*

FCT_AUFT1, FCT_AUFT_2

*AUFT??

Warnung

Beachten Sie, dass die Bezeichner (key) der jeweiligen Parameter groß geschrieben werden.

Beispiel (Auszug aus der Kennzahlenkonfiguration)

Ermittle die neuen bzw. geänderten MM-Belege ...

<calcattr name="AT_KI_COUNTFUNC_ENV" type="OT_FUNC"

objectname="FCT_CREATE_ORD">

<calcclass name="com.idsscheer.ppm.server.

keyindicator.attributecalculator.

ZAttributeCalculatorObjectCounterByEpcEnv">

<calcparam key="DIRECTION" value="FORWARD"/>

<calcparam key="ENVTYPE" value="DIRECT"/>

<calcparam key="OBJECTNAMEFILTER.0"

value="FCT_CREATE_*"/>

<calcparam key="OBJECTNAMEFILTER.1"

value="FCT_ORDER_*">

</calcclass>

</calcattr>

...

Über die parametrisierte Suche werden alle direkt benachbarten Nachfolgerfunktionen der aktuellen Funktion ermittelt. Die Menge der ermittelten Funktionen wird über die angegebenen Filterausdrücke FCT_CREATE_* und FCT_ORDER_* weiter eingeschränkt. Für die Menge der so ermittelten Funktionen wird die Objektanzahl berechnet und im berechneten Attributtyp AT_KI_COUNTFUNC_ENV gespeichert.

AttributeCopierByEpcEnv

Verwenden Sie diese Berechnungsklasse, um Abhängigkeiten zwischen mehreren Attributberechnungen (<depends attrname="..." type="..."/>) zu definieren. Beispielsweise kann es sinnvoll sein, eine bestimmte Attributberechnung erst dann auszuführen, wenn zuvor bestimmte Attributtypwerte mit der Berechnungsklasse AttributeCopierByEpcEnv an ausgewählte Funktionen kopiert worden sind.

In der eigentlichen Berechnung werden über eine parametrisierbare Suche ausgehend von der aktuellen Funktion bestimmte benachbarte Funktionen ermittelt.
Anschließend werden gemäß der angegebenen Parameter bestimmte Attributtypwerte von einer Funktion an eine oder mehrere Funktionen kopiert. Dabei werden zwei Hauptfälle unterschieden:

1. Fall

Die aktuelle Funktion soll das Ziel des Kopiervorgangs sein (<calcparam key="COPYROLE" value="DESTINATION"/>).
Werden mehrere benachbarte Funktionen ermittelt, muss aus der Menge der ermittelten Funktionen eine Funktion bestimmt werden, die als Quelle des Kopiervorgangs verwendet werden soll. Der Parameter COPYTYPE muss in diesem Fall den Wert 1-TO-1 haben. Sie sollten die Menge der Funktionen sortieren. Andernfalls wird der Wert einer zufälligen Funktion kopiert oder es wird kein Wert kopiert, wenn das Attribut für die Funktion nicht gepflegt ist.

2. Fall

Die aktuelle Funktion soll die Quelle des Kopiervorgangs sein (<calcparam key="COPYROLE" value="SOURCE"/>).
Die angegebenen Attributtypwerte sollen von der Ausgangsfunktion an eine bestimmte Funktion kopiert werden. Der Parameter COPYTYPE muss den Wert 1-TO-1 haben, da über die Suche mehrere benachbarte Funktionen ermittelt werden können. Über die Parameter SORTATTRIBUTE und SORTTYPE wird aus der ermittelten Menge eine Zielfunktion bestimmt.

Sollen die angegebenen Attributtypwerte von der Ausgangsfunktion an alle benachbarten Funktionen kopiert werden, muss der Parameter COPYTYPE den Wert 1-TO-N haben. In diesem Fall ist keine Angabe der Sortierungsparameter SORTATTRIBUTE und SORTTYPE notwendig, da aus der Menge der ermittelten Funktionen keine näher bestimmt werden muss.

Ermittlung der Kopierquelle

Als Quelle bzw. Ziel des Kopiervorgangs wird mit Hilfe der Parameter SORTATTRIBUTE und SORTTYPE die Funktion bestimmt, die gemäß angegebener Sortierrichtung an erster Position steht.

Zu kopierende Attributtypwerte

Die Liste der zu kopierenden Attributtypwerte wird in fortlaufender Nummerierung mit Hilfe der Parameter SOURCEATTRIBUTE.<x> bzw. DESTINATIONATTRIBUTE.<x> angegeben, wobei <x> für eine ganze Zahl steht. Ist kein Zielattributtyp angegeben, wird der Quellattributtyp als Zielattributtyp mit entsprechenden Werten an den angegebenen Funktionen erzeugt.

Sie können das Verhalten der Berechnungsklasse AttributeCopierByEpcEnv durch Angabe folgender Parameter steuern:

Parameter

Beschreibung

Beispielwert

DIRECTION
(einwertig)

Richtung der Suche nach Vorgänger- bzw. Nachfolgerfunktionen von der aktuellen Funktion aus

FORWARD (Nachfolgerfunktionen) oder
BACKWARD (Vorgängerfunktionen) in Bezug auf die im zugehörigen calcattr-Tag referenzierte(n) Funktion(en)

ENVTYPE
(einwertig)

Suche nach Funktionen in der direkten Nachbarschaft der Funktion oder in der gesamten Prozessinstanz in der angegebenen Suchrichtung. Alle ermittelten Funktionen werden einer unsortierten Menge hinzugefügt.

DIRECT (nur unmittelbar benachbarte Funktionen)

INDIRECT (alle Funktionen in der angegebenen Suchrichtung)

OBJECTNAMEFILTER
(optional, mehrwertig)

Einschränkung der Suche nach bestimmten internen Funktionsnamen mit beliebiger Verwendung der Platzhalter * und ?. Mehrere Namensmuster werden mittels key wie folgt angegeben:

OBJECTNAMEFILTER.0
OBJECTNAMEFILTER.1
OBJECTNAMEFILTER.2 usw.

*AUFT*,????AUFT*

FCT_AUFT1, FCT_AUFT_2

*AUFT??

COPYROLE
(einwertig)

Rolle der aktuellen Funktion beim Kopierprozess. Die über die Suche ermittelten, benachbarten Funktionen nehmen jeweils die gegenteilige Rolle ein.

SOURCE (Kopierquelle)

DESTINATION (Kopierziel)

COPYTYPE
(einwertig)

Wenn mehrere Funktionen als Kopierziel ermittelt werden, gibt dieser Parameter an, ob der Wert an alle oder nur an eine Funktion kopiert werden soll.

1-TO-1 (Wert wird an
eine Funktion kopiert)

1-TO-N (Wert wird an
alle ermittelten Funktionen kopiert)

SORTATTRIBUTE
(optional, einwertig)

Attribut, das als Sortierkriterium für mehrere ermittelte Funktionen verwendet wird. Wird nur berücksichtigt, wenn COPYTYPE 1-TO-1 angegeben ist.

Existierender
PPM-Attritbuttyp

SORTTYPE
(optional, einwertig)

Sortierrichtung für das gewählte Sortierkriterium. Wird nur berücksichtigt, wenn COPYTYPE 1-TO-1 angegeben ist.

ASC (Vorgabewert:
aufsteigend)

DESC (absteigend)

SORTNULLVALUES
(optional, einwertig)

Bestimmt, ob Objekte, deren Sortierattribut nicht gepflegt ist, mit minimalem oder maximalen Wert angeordnet werden oder ob eine Fehlermeldung als Warnung ausgegeben werden soll

MIN, MAX, DEFAULT (Vorgabewert)

SOURCEATTRIBUTE.<x>
(mehrwertig)

Der Quellattributtyp, dessen Wert kopiert werden soll. <x> ist eine Ganzzahl und entspricht destinationattribute.<x>.

Ein vorhandener
PPM-Attributtyp

DESTINATIONZeilenumbruch
ATTRIBUTE.<x>
(optional, mehrwertig)

Der Zielattributtyp, an den der Wert kopiert werden soll. <x> ist eine Ganzzahl und entspricht sourceattribute.<x>.

Existierender PPM-Attributtyp

Beispiel

Über die parametrisierte Suche werden alle direkt benachbarten Vorgängerfunktionen der aktuellen Funktion, die als Quelle des Kopiervorgangs dienen soll, ermittelt. Werden mehrere Vorgängerfunktionen ermittelt, wird die Menge der ermittelten Funktionen mit Hilfe des Sortierkriteriums AT_START_TIME absteigend sortiert. Der Wert des Attributtyps AT_START_TIME wird von der spätesten Funktion an den Attributtyp AT_END_TIME an der ermittelten Zielfunktion kopiert.

Auszug aus der Kennzahlenkonfiguration

Ermittle die neuen bzw. geänderten MM-Belege ...

<calcattr name="AT_END_TIME" type="OT_FUNC" objectname="...">

<calcclass name="com.idsscheer.ppm.server.

keyindicator.attributecalculator.

ZAttributeCalculatorAttributeCopierByEpcEnv">

<calcparam key="DIRECTION" value="BACKWARD"/>

<calcparam key="ENVTYPE" value="DIRECT"/>

<calcparam key="COPYROLE" value="SOURCE"/>

<calcparam key="COPYTYPE" value="1-TO-1"/>

<calcparam key="SORTATTRIBUTE" value="AT_START_TIME"/>

<calcparam key="SORTTYPE" value="DESC"/>

<calcparam key="SOURCEATTRIBUTE.0"

value="AT_START_TIME"/>

<calcparam key="DESTINATIONATTRIBUTE.0"

value="AT_END_TIME"/>

</calcclass>

</calcattr>

...

AttributeAggregatorByEpcEnv

Die Berechnungsklasse AttributeAggregatorByEpcEnv summiert den angegebenen numerischen Attributtyp aller benachbarter Funktionen auf. Das Ergebnis wird im angegebenen Attributtyp gespeichert.

Sie können das Verhalten der Berechnungsklasse AttributeAggregatorByEpcEnv durch Angabe folgender Parameter steuern:

Parameter

Beschreibung

Beispielwert

DIRECTION
(einwertig)

Richtung der Suche nach Vorgänger- bzw. Nachfolgerfunktionen von der aktuellen Funktion aus

FORWARD (Nachfolgerfunktionen) oder
BACKWARD (Vorgängerfunktionen) in Bezug auf die im zugehörigen calcattr-Tag referenzierte(n) Funktion(en)

ENVTYPE
(einwertig)

Suche nach Funktionen in der direkten Nachbarschaft der Funktion oder in der gesamten Prozessinstanz in der angegebenen Suchrichtung

DIRECT (nur unmittelbar benachbarte Funktionen)

INDIRECT (alle Funktionen in der angegebenen Suchrichtung)

OBJECTNAMEFILTER
(optional, mehrwertig)

Einschränkung der Suche nach bestimmten internen Funktionsnamen mit beliebiger Verwendung der Platzhalter * und ?. Mehrere Namensmuster werden mittels key wie folgt angegeben:

OBJECTNAMEFILTER.0
OBJECTNAMEFILTER.1
OBJECTNAMEFILTER.2 usw.

*AUFT*,????AUFT*

FCT_AUFT1, FCT_AUFT_2

*AUFT??

AGGREGATION_Zeilenumbruch
ATTRIBUTE
(einwertig)

Attributtyp, der aufsummiert werden soll

Existierender PPM-Attributtyp

Beispiel

Im folgenden Beispiel werden alle Nachfolgerfunktionen der aktuellen Funktion in der Prozessinstanz ermittelt, deren interner Name mit der Zeichenfolge FCT_ORDER_ beginnt oder der mit FCT_INVOICING_ beginnt und von vier beliebigen Zeichen gefolgt wird. Für die Menge der ermittelten Funktionen wird der Attributtyp AT_ORDER_VOL aufsummiert und im Attributtyp AT_KI_ORDER_VOL_AGG gespeichert.

Auszug aus der Kennzahlenkonfiguration

Ermittle die neuen bzw. geänderten MM-Belege ...

<calcattr name="AT_KI_ORDER_VOL_AGG" type="OT_FUNC"

objectname="ORDER*">

<calcclass name="com.idsscheer.ppm.server.

keyindicator.attributecalculator.

ZAttributeCalculatorAttributeAggregatorByEpcEnv">

<calcparam key="DIRECTION" value="FORWARD"/>

<calcparam key="ENVTYPE" value="INDIRECT"/>

<calcparam key="OBJECTNAMEFILTER.0"

value="FCT_ORDER_*"/>

<calcparam key="OBJECTNAMEFILTER.1"

value="FCT_INVOICING_????"/>

<calcparam key="AGGREGATION_ATTRIBUTE"

value="AT_ORDER_VOL"/>

</calcclass>

</calcattr>

...