Beispiel U-1: Benutzerdefinierte Objekteigenschaft
Inhaltsverzeichnis
Übersicht
In diesem Beispiel wird die Nutzung zusätzlicher Funktionen von Objekteigenschaften erklärt.
Was sind Objekteigenschaften?
Ein Beispiel für eine Objekteigenschaft ist [Artikel] (Order_Item) in der Auftragstabelle. Im Eigenschaftenfenster erkennt man Objekteigenschaften am schwarzen Pfeil vor dem Wert; durch einen Klick auf den Pfeil öffnen sich die Artikeleigenschaften. Sie können in Formeln den Namen von, im Auftrag gesetzten, Artikeln über ME.Order_Item.Item_Name, bzw. kurz ME.Item.Name beziehen.
Objekteigenschaft haben, mit wenigen Ausnahmen, inverse Eigenschaften. So ist etwa die inverse Eigenschaft für [Artikel] in der Auftragstabelle [Aufträge die diesen Artikel nutzen] in der Artikeltabelle. Diese Eigenschaft findet sich unter der Registerkarte [Link] des Eigenschaftenfensters. Wird eine Objekteigenschaft gelöscht, so wird auch die entsprechende inverse Eigenschaft automatisch gelöscht.
Auch benutzerdefinierte Eigenschaften können als Objekteigenschaften angelegt werden.
Vorteile
- Sie können Objekte in verschiedenen Tabellen direkt aus Kombinationslisten auswählen, so dass die Dateneingabe vereinfacht wird.
- Sie können Objekte in benutzerdefinierten Tabellen auswählen.
- Sie können Formel erstellen, die schneller ausgewertet werden.
- Sie können kürzere Formeln erstellen.
Beispiel 1 - Spezifikationen für Hauptnutzungsanweisungen setzen
Sie können Spezifikationen für Aufträge, Artikel und Ressourcen Setzen. Wenn Sie Spezifikationen für Ressourcen setzen, so können diesen nur Vorgänge zugewiesen werden, bei denen die Spezifikationen im Auftrag oder Artikel passen.
Im folgenden Fall können die Spezifikationen nicht alleine auf Ressourcenebene gesetzt werden, sondern dies muss in den Integrierten Stammdaten geschehen. Die Flaschengrößen (XS, S, M & L) sind in der Spezifikation-1-Tabelle definiert.
| Spezifikationscode | Flaschengröße (ml) |
|---|---|
| XS | 100 |
| S | 200 |
| M | 300 |
| L | 400 |
Die Abfüllanlagen 1, 2 und 3 können, je nach Artikel, unterschiedliche Flaschengrößen befüllen.
| Artikel | |||
|---|---|---|---|
| A | B | ||
| Abfüllanlage | 1 | S, XS | XS |
| 2 | M, S, XS | L, M, S, XS | |
| 3 | Alle | Alle | |
Da es vom Artikel abhängt, welche Spezifikation-1 produziert werden kann, kann diese nicht einfach für die Ressourcen gesetzt werden. Stattdessen wird den Integrierten Stammdaten eine benutzerdefinierte Objekteigenschaft hinzugefügt.
- Klicken Sie im Kontextmenü eines Spaltenkopfs in den Integrierten Stammdaten auf [Spalteneinstellungen ...]. Sie könnten zwar die Klasse "Alle Anweisungstypen" nutzen, aber da die neue Eigenschaft nur für Hauptnutzungsanweisungen Sinn ergibt, setzen Sie "Hauptnutzungsanweisungen".
Weitere Informationen zum Hinzufügen neuer Stammdateneigenschaften finden Sie hier. - Klicken Sie auf die Schaltfläche [Neue Eigenschaft ...].
- Setzen sie den [Datentyp] auf "Objekt" und setzen dann wie folgt die anderen Eigenschaften:
- Klicken Sie in den Dialogen Neue Eigenschaft anlegen und Spalteneinstellungen auf die Schaltflächen [OK]. Die Eigenschaft[Spezifikation1] wird jetzt angezeigt.
Since this property is an object type, a list of the objects in the Specification 1 table is displayed in the select box by clicking a cell or by pressing the ALT and ↓ keys. - Then, set the valid condition expression for comparing the bottle capacity being assigned and the producible bottle capacity of each resource in the valid condition expression.
MEis a split operation, andHOLDERis the master use instruction of the integrated master.
ME.Order.Spec1.BottleSize<=HOLDER.Spec1.BottleSize
Even in past versions, this could be realized by adding the string-type user property Spec1Code to a use instruction of the Integrated Master and describing the following valid condition expression.
ME.Order.Spec1.BottleSize<=PROJECT.Child['Spec1'].Child[HOLDER.Spec1Code].Spec1User_BottleSize
However, this method has the following disadvantages.
- The combo box for selecting objects in the Specification 1 table is not displayed.
- Processing time is extended depending on the number of objects of Specification 1 in order to search for objects in the Specification 1 table.
- The length of the expression makes it difficult to read.
In the Specification 1 table, the reverse property "Master use instruction" is displayed. In this sample, this reverse property is not used.
By rescheduling, you can see that the container size constraints you have set are met.
Auslastungsgraph im Ressourcen-Gantt-Diagramm anzeigen
The "standard" style of the resource Gantt chart for this sample data allows you to drill down to see the load graph. This also uses object type user properties.
Schritte
- in the resource table or resource Gantt chart, launch the Column Settings dialog and add the object type user property.
- enter
MEin the virtual property expression for this property. You can set this either from the resource table or the resource Gantt chart. - set [Hierarchieeigenschaften] on the Table tab in Display Settings of the resource Gantt chart.
- Click the black arrow of the Hierarchy Properties object, display the “Hierarchy Properties” property window, and set “Load amount graph” in “Hierarchy row display content” (ASGHierarchySetting_RowContent).
In this way, you can display yourself in the hierarchically displayed rows. Although you can also display additional load ratio graph rows from the right-click menu as shown below, this method cannot save the additionally displayed rows in Styles.
Weitere Anwendungen
Neben diesen beiden Beispielen können benutzerdefinierte Objekteigenschaften auch für andere Anwendungen genutzt werden. Dies könnte etwa eine Fähigkeitsmatrix von Mitarbeitern in einer benutzerdefinierten Tabelle sein, auf die über Gültigkeitsbedingungen in den Integrierten Stammdaten zugegriffen wird. Beispiel U-2 zeigt, wie Nacharbeitsaufträge über eine benutzerdefinierte Objekteigenschaft angelegt werden können.