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\ |
defaultcopy |
Bestimmt das Verhalten, wenn kein Mapping zum Attributwert gefunden wird. |
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 |
Richtung der Suche nach Vorgänger- bzw. Nachfolgerfunktionen von der aktuellen Funktion aus |
FORWARD (Nachfolgerfunktionen) oder |
ENVTYPE |
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 |
Einschränkung der Suche nach bestimmten internen Funktionsnamen mit beliebiger Verwendung der Platzhalter * und ?. Mehrere Namensmuster werden mittels key wie folgt angegeben: OBJECTNAMEFILTER.0 |
*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 |
Richtung der Suche nach Vorgänger- bzw. Nachfolgerfunktionen von der aktuellen Funktion aus |
FORWARD (Nachfolgerfunktionen) oder |
ENVTYPE |
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 |
Einschränkung der Suche nach bestimmten internen Funktionsnamen mit beliebiger Verwendung der Platzhalter * und ?. Mehrere Namensmuster werden mittels key wie folgt angegeben: OBJECTNAMEFILTER.0 |
*AUFT*,????AUFT* FCT_AUFT1, FCT_AUFT_2 *AUFT?? |
COPYROLE |
Rolle der aktuellen Funktion beim Kopierprozess. Die über die Suche ermittelten, benachbarten Funktionen nehmen jeweils die gegenteilige Rolle ein. |
SOURCE (Kopierquelle) DESTINATION (Kopierziel) |
COPYTYPE |
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 1-TO-N (Wert wird an |
SORTATTRIBUTE |
Attribut, das als Sortierkriterium für mehrere ermittelte Funktionen verwendet wird. Wird nur berücksichtigt, wenn COPYTYPE 1-TO-1 angegeben ist. |
Existierender |
SORTTYPE |
Sortierrichtung für das gewählte Sortierkriterium. Wird nur berücksichtigt, wenn COPYTYPE 1-TO-1 angegeben ist. |
ASC (Vorgabewert: DESC (absteigend) |
SORTNULLVALUES |
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> |
Der Quellattributtyp, dessen Wert kopiert werden soll. <x> ist eine Ganzzahl und entspricht destinationattribute.<x>. |
Ein vorhandener |
DESTINATION |
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 |
Richtung der Suche nach Vorgänger- bzw. Nachfolgerfunktionen von der aktuellen Funktion aus |
FORWARD (Nachfolgerfunktionen) oder |
ENVTYPE |
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 |
Einschränkung der Suche nach bestimmten internen Funktionsnamen mit beliebiger Verwendung der Platzhalter * und ?. Mehrere Namensmuster werden mittels key wie folgt angegeben: OBJECTNAMEFILTER.0 |
*AUFT*,????AUFT* FCT_AUFT1, FCT_AUFT_2 *AUFT?? |
AGGREGATION_ |
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>
...