Beispiel U-1: Unterschied zwischen den Versionen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „{{DISPLAYTITLE:Beispiel U-1: Benutzerdefinierte Objekteigenschaft}} <div align="right">Hilfe Nummer: 927000</div> <div align="right">Beispiele Übersicht|Üb…“)
 
K (Beispiel 2 - Auslastungsgraph im Ressourcen-Gantt-Diagramm anzeigen)
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
  
 
== Übersicht ==
 
== Übersicht ==
This sample is sample data for learning additional functions of object type user properties added in Ver.15.2.
+
In diesem Beispiel wird die Nutzung zusätzlicher Funktionen von Objekteigenschaften erklärt.
  
 
=== Was sind Objekteigenschaften? ===
 
=== Was sind Objekteigenschaften? ===
An object type property is, for example, the order table item (Order_Item) property. In the Properties window, black arrows are displayed as the order’s properties, and you can click them to display the item’s properties. You can acquire the item name of items set in an order by writing ME.Order.Order_Item.Item_Name or ME.Order.Item.Name in the expression.
+
Ein Beispiel für eine Objekteigenschaft ist [Artikel] (<code>Order_Item</code>) 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 <code>ME.Order_Item.Item_Name</code>, bzw. kurz <code>ME.Item.Name</code> beziehen.
  
Object type properties, with some exceptions, have reverse properties. For example, the reverse property of an item in the order table is “Orders which use this item” (Order_Item_Rev). This property is available in the link tab of the properties window. If one of the object type properties is deleted, the reverse property is also automatically deleted.
+
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.
  
Starting with Ver. 15.2, object type properties can be added in each table by the user. These are called object type user properties.
+
Auch [[Dialog - Neue Eigenschaftsdefinition#Objekteigenschaften|benutzerdefinierte Eigenschaften können als Objekteigenschaften angelegt]] werden.
  
 
=== Vorteile ===
 
=== Vorteile ===
* Allows one to select objects from a combo box in all kinds of table, simplifying data entry.
+
* Sie können Objekte in verschiedenen Tabellen direkt aus Kombinationslisten auswählen, so dass die Dateneingabe vereinfacht wird.
* Of course, users can also select objects in user-added tables.
+
* Sie können Objekte in benutzerdefinierten Tabellen auswählen.
* Allows one to write expressions that speed up execution.
+
* Sie können Formel erstellen, die schneller ausgewertet werden.
* Shorter expressions can be written.
+
* Sie können kürzere Formeln erstellen.
  
== Variante 1 - Add an object type user property to the integrated master table so that specifications can be selected for each master use instruction ==
+
== Beispiel 1 - Spezifikationen für Hauptnutzungsanweisungen setzen ==
 +
Sie können [[Spezifikation und Num Spezifikation|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.
  
Specifications can be specified for orders, items, and resources.
+
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.
If you set specifications for resources, only operations that match the specifications of the order or item will be assigned.
 
  
Here we will consider an example where this specification cannot be determined by resources alone but depends on the integrated master.
+
{| class="wikitable"
In this sample data, container sizes (SS / S / M / L) and bottle capacities are defined in the Specification 1 table. Bottle capacities are a float type user property.
+
|+ Spezifikation-1-Tabelle
 +
|-
 +
!style="background: #3C78AE; color:white"|Spezifikationscode
 +
!style="background: #3C78AE; color:white"|Flaschengröße (ml)
 +
|- style="background:white"
 +
|XS||align="right"|100
 +
|- style="background:#DFEBF4;"
 +
|S||align="right"|200
 +
|- style="background:white"
 +
|M||align="right"|300
 +
|- style="background:#DFEBF4;"
 +
|L||align="right"|400
 +
|-
 +
|}
 +
 
 +
Die Abfüllanlagen 1, 2 und 3 können, je nach Artikel, unterschiedliche Flaschengrößen befüllen.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
!Spezifikationscode!!Flaschengröße (ml)
+
|colspan="2" rowspan="2"|
|-
+
!colspan="2"|Artikel
|SS||100
 
 
|-
 
|-
|S||200
+
!A
 +
!B
 
|-
 
|-
|M||300
+
!rowspan="3"|Abfüllanlage!!1
 +
|S, XS||XS
 
|-
 
|-
|L||400
+
!2
 +
|M, S, XS||L, M, S, XS
 
|-
 
|-
 +
!3
 +
|Alle||Alle
 
|}
 
|}
  
Packers 1, 2 and 3 in the filling process have the following limitations with regard to the size of the containers that can be filled.
+
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.
  
ProductA ProductB
+
# 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".<br>[[Datei:MasterUseInstructionClass.PNG]]<br>Weitere Informationen zum Hinzufügen neuer Stammdateneigenschaften finden Sie [[Neue Eigenschaften für die Integrierten Stammdaten|hier]].
Machines S and under SS and under
+
# Klicken Sie auf die Schaltfläche [Neue Eigenschaft ...].
Packer 2 M and under L and under
+
# Setzen sie den [Datentyp] auf "Objekt" und setzen dann wie folgt die anderen Eigenschaften:<br>[[Datei:NewObjectProperty.PNG ]]
Filling machine 3 All All
+
# Klicken Sie in den Dialogen Neue Eigenschaft anlegen und Spalteneinstellungen auf die Schaltflächen [OK]. Die Eigenschaft [Spezifikation1] wird jetzt angezeigt.
 +
# Da dies eine Objekteigenschaft ist, wird eine Liste aller Objekte der Spezifikation-1-Tabelle angezeigt, wenn Sie auf die Schaltfläche am rechten Rand der Zelle klicken oder ALT + &darr; drücken. Setzen Sie die passenden Werte entsprechend der oben stehenden Matrix.<br>[[Datei:ObjPropIME1.png]]
 +
# Setzen Sie anschließend die [Gültigkeitsbedingung] auf <code>ME.Order.Spec1.BottleSize<=HOLDER.Spec1.BottleSize</code>, damit die zu produzierende Flaschengröße mit der jeweils produzierbaren Flaschengröße verglichen werden kann. Dabei ist <code>ME</code> ein Vorgang und <code>HOLDER</code> die Hauptnutzungsanweisung.
  
+
Auch in älteren Versionen von Asprova konnte über die [Gültigkeitsbedingung] auf <code>ME.Order.Spec1.BottleSize<=PROJECT.Child['Spec1'].Child[HOLDER.Spec1Code].Spec1User_BottleSize</code> das Gleiche erreicht werden. Dieser Ansatz hat aber mehrere Nachteile:
 +
* Der gewünschte Spezifikation-1-Wert kann nicht aus einem Kombinationsfeld ausgewählt werden.
 +
* Die Planungsgeschwindigkeit nimmt mit zunehmender Anzahl an Spezifikation-1-Objekten ab, da die Spezifikation-1-Tabelle immer wieder durchsucht werden muss.
 +
* Die längere Formel macht diese schwerer verständlich.
  
In other words, since producible specification 1 depends on the item, specification 1 cannot be set for resources. Try adding an object type user property to the master use instruction class of the integrated master.
+
Der Spezifikation-1-Tabelle wurde die inverse Eigenschaft [Hauptnutzungsanweisung] hinzugefügt, in diesem Beispiel wird diese aber nicht weiter verwendet.
The method for doing this is as follows.
 
  
From the popup menu of the column headers of the integrated master table, select [Column Settings].
+
{| class="wikitable"
 
+
|+ Spezifikation-1-Tabelle
+
|-
 
+
!style="background: #3C78AE; color:white"|Spezifikations-<br>code
There is no big problem in selecting "All instruction types" in the select box in the middle, but since this is only set for the master use instruction, select Master use instruction.
+
!style="background: #3C78AE; color:white"|Flaschen-<br>größe
For details, refer to “Adding a new property in the integrated master editor table”.
+
!style="background: #3C78AE; color:white"|Anzeige-<br>farbe
 
+
!style="background: #3C78AE; color:white"|Hauptnutzungs-<br>anweisung
+
|- style="background:white;" valign="top"
 
+
|XS||align="right"|100||style="background: #F7B2FF;" align="right"|6||style="background: #EBEBEB;|M
Specify “Object” for the data type, entering the information as follows.
+
|- style="background: #E1EBF4" valign="top"
 
+
|S||align="right"|200||style="background: #DBE5E6;" align="right"|11||style="background: #EBEBEB;|M
+
|- style="background:white;" valign="top"
 
+
|M||align="right"|300||style="background: #E3CCD5;" align="right"|30||style="background: #EBEBEB;|M
Once the dialog is closed by pressing the OK button and the column settings are adjusted, the "Specification 1" column is displayed as shown below.
+
|- style="background: #E1EBF4" valign="top"
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.
+
|L||align="right"|400||style="background: #BFA6EC;" align="right"|15||style="background: #EBEBEB;|M
 
+
|-
+
|}
 
 
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. ME is a split operation, and HOLDER is 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.
 
 
 
 
 
 
Setting 2 Add an object type user property to the resource table and display load graph on resource Gantt chart
 
 
 
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.
 
 
 
 
 
 
The method for doing this is as follows.
 
First, in the resource table or resource Gantt chart, launch the Column Settings dialog and add the object type user property.
 
 
 
 
 
 
Next, enter ME in the virtual property expression for this property. You can set this either from the resource table or the resource Gantt chart.
 
 
 
 
 
 
Next, set “Hierarchy Properties” (ASGTableViewProps_HierarchySetting) on the Table tab in Display Settings of the resource Gantt chart.
 
  
 +
Wenn Sie neu planen, können Sie sehen, dass die Flaschengrößen richtig berücksichtigt werden.
  
+
== Beispiel 2 - Auslastungsgraph im Ressourcen-Gantt-Diagramm anzeigen ==
 +
Der 'Standardstil' dieses Beispiels ermöglicht die Erweiterung der Ansicht um den Auslastungsgraphen anzuzeigen.<br>
 +
[[Datei:NewObjectPropertyChildLoad.PNG]]
  
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).
+
# Fügen Sie der Ressourcentabelle eine neue, benutzerdefinierte Objekteigenschaft hinzu:<br>[[Datei:NewObjectProperty2.PNG]]
 +
# Setzen Sie die [Virtuelle Eigenschaftsformel] dieser Eigenschaft auf <code>ME</code>.
 +
# Setzen Sie die "Die Ressource selber" in den [Hierarchieeinstellungen] der Anzeigeeinstellungen des Ressourcen-Gantt-Diagramms:<br>[[Datei:NewObjectPropertyHierarchy.PNG]] [[Datei:NewObjectPropertyDisplaySettings.PNG]]
 +
# Erweitern sie die [Hierarchieeinstellungen] und klicken auf den schwarzen Pfeil vor "Die Ressource selber". Setzen Sie dann den [Hierarchiezeilenanzeigeinhalt] auf "Auslastungsgraph (%)":<br> [[Datei:NewObjectPropertyHierarchyLoadRatio.PNG]]
  
+
Auf diese Weise ist es möglich das gleiche Objekt in untergeordneten Zeilen anzuzeigen.<br>[[Datei:NewObjectPropertyChildRow.PNG]]
  
In this way, you can display yourself in the hierarchically displayed rows.
+
Das ist zwar auch über den [[Zeileninhalt#Anzeigeinhalt_einzelner_Zeilen|Anzeigeinhalt einzelner Zeilen]] möglich, kann dann aber nicht in Stilen gespeichert werden.<br>
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.
+
[[Datei:RowContentNewLoadRate.png]]
  
+
== Weitere Anwendungsmöglichkeiten ==
== Praktische Anwendung ==
+
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.
Besides the above two setting examples, object type user properties can be applied to various situations such as creating skill maps of workers in the user table and referencing this from valid condition expressions of the Integrated Master. Next, we will introduce a sample that generates rework orders by applying the function to automatically generate objects.
 
  
 
<hr>
 
<hr>
 
<div align="right">Hilfe Nummer: 927000</div>
 
<div align="right">Hilfe Nummer: 927000</div>

Aktuelle Version vom 17. Oktober 2019, 14:34 Uhr

Hilfe Nummer: 927000
Übersicht Beispiele

Ü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.

Spezifikation-1-Tabelle
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.

  1. 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".
    MasterUseInstructionClass.PNG
    Weitere Informationen zum Hinzufügen neuer Stammdateneigenschaften finden Sie hier.
  2. Klicken Sie auf die Schaltfläche [Neue Eigenschaft ...].
  3. Setzen sie den [Datentyp] auf "Objekt" und setzen dann wie folgt die anderen Eigenschaften:
    NewObjectProperty.PNG
  4. Klicken Sie in den Dialogen Neue Eigenschaft anlegen und Spalteneinstellungen auf die Schaltflächen [OK]. Die Eigenschaft [Spezifikation1] wird jetzt angezeigt.
  5. Da dies eine Objekteigenschaft ist, wird eine Liste aller Objekte der Spezifikation-1-Tabelle angezeigt, wenn Sie auf die Schaltfläche am rechten Rand der Zelle klicken oder ALT + ↓ drücken. Setzen Sie die passenden Werte entsprechend der oben stehenden Matrix.
    ObjPropIME1.png
  6. Setzen Sie anschließend die [Gültigkeitsbedingung] auf ME.Order.Spec1.BottleSize<=HOLDER.Spec1.BottleSize, damit die zu produzierende Flaschengröße mit der jeweils produzierbaren Flaschengröße verglichen werden kann. Dabei ist ME ein Vorgang und HOLDER die Hauptnutzungsanweisung.

Auch in älteren Versionen von Asprova konnte über die [Gültigkeitsbedingung] auf ME.Order.Spec1.BottleSize<=PROJECT.Child['Spec1'].Child[HOLDER.Spec1Code].Spec1User_BottleSize das Gleiche erreicht werden. Dieser Ansatz hat aber mehrere Nachteile:

  • Der gewünschte Spezifikation-1-Wert kann nicht aus einem Kombinationsfeld ausgewählt werden.
  • Die Planungsgeschwindigkeit nimmt mit zunehmender Anzahl an Spezifikation-1-Objekten ab, da die Spezifikation-1-Tabelle immer wieder durchsucht werden muss.
  • Die längere Formel macht diese schwerer verständlich.

Der Spezifikation-1-Tabelle wurde die inverse Eigenschaft [Hauptnutzungsanweisung] hinzugefügt, in diesem Beispiel wird diese aber nicht weiter verwendet.

Spezifikation-1-Tabelle
Spezifikations-
code
Flaschen-
größe
Anzeige-
farbe
Hauptnutzungs-
anweisung
XS 100 6 M
S 200 11 M
M 300 30 M
L 400 15 M

Wenn Sie neu planen, können Sie sehen, dass die Flaschengrößen richtig berücksichtigt werden.

Beispiel 2 - Auslastungsgraph im Ressourcen-Gantt-Diagramm anzeigen

Der 'Standardstil' dieses Beispiels ermöglicht die Erweiterung der Ansicht um den Auslastungsgraphen anzuzeigen.
NewObjectPropertyChildLoad.PNG

  1. Fügen Sie der Ressourcentabelle eine neue, benutzerdefinierte Objekteigenschaft hinzu:
    NewObjectProperty2.PNG
  2. Setzen Sie die [Virtuelle Eigenschaftsformel] dieser Eigenschaft auf ME.
  3. Setzen Sie die "Die Ressource selber" in den [Hierarchieeinstellungen] der Anzeigeeinstellungen des Ressourcen-Gantt-Diagramms:
    NewObjectPropertyHierarchy.PNG NewObjectPropertyDisplaySettings.PNG
  4. Erweitern sie die [Hierarchieeinstellungen] und klicken auf den schwarzen Pfeil vor "Die Ressource selber". Setzen Sie dann den [Hierarchiezeilenanzeigeinhalt] auf "Auslastungsgraph (%)":
    NewObjectPropertyHierarchyLoadRatio.PNG

Auf diese Weise ist es möglich das gleiche Objekt in untergeordneten Zeilen anzuzeigen.
NewObjectPropertyChildRow.PNG

Das ist zwar auch über den Anzeigeinhalt einzelner Zeilen möglich, kann dann aber nicht in Stilen gespeichert werden.
RowContentNewLoadRate.png

Weitere Anwendungsmöglichkeiten

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.


Hilfe Nummer: 927000