Ausgangslage
Sie möchten, dass das PDM nach einer Änderung den Inhalt bestimmter Attribute auf andere Element kopiert.
Als Beispiel soll das PDM nach einer Änderung der Stammdaten die Benennung (Attribut DESCRIPTION) auf alle zugehörigen 2D Zeichnungen und 3D Modelle kopieren.
Beispiel - Benennung von den Stammdaten auf die 2D Zeichnungen und 3D Modelle kopieren
XML Konfigruration
<COPJobs>
<Job>
<Name>copy_description</Name>
<Action>com.cop.job.COPJobCopyValue</Action>
<IsSource>true</IsSource>
<SourceAttribute>DESCRIPTION</SourceAttribute>
<TargetClass>DRAWING_2D,MODEL_3D</TargetClass>
<TargetAttribute>DESCRIPTION</TargetAttribute>
<TargetValidState>work</TargetValidState>
<Relatives>children</Relatives>
<Overwrite>true</Overwrite>
</Job>
</COPJobs>
<Class extends="DMMasterdata">
<Name>MASTERDATA</Name>
<PostApplyListener>com.cop.biz.MasterdataPostApplyListener</PostApplyListener>
<Attribute>
DESCRIPTION
<Visible>true</Visible>
<COPJobOnAttributeValueChange>copy_description</COPJobOnAttributeValueChange>
</Attribute>
</Class>
Beschreibung
Der Jobname ist mit <Name> definiert (hier copy_description) und ist frei wählbar. Die von COP PDM auszuführende Aktion ist im Tag <Action> definiert. In diesem Fall führt COP PDM die Aktion com.cop.job.COPJobCopyValue aus.
In den Stammdaten muss der Post-Apply-Listener com.cop.biz.MasterdataPostApplyListener konfiguriert sein. Model Manager führt diesen Listener aus, sobald ein Element der Stammdaten Klasse geändert wird.
In diesem Anwendungsbeispiel führt COP.JAR den Job "CopyDescriptionToChildren" mit dem aktuellen Element (in diesem Fall Stammdaten) aus, sobald das Stammdatenattribut DESCRIPTION geändert wird (<COPJobOnAttributeValueChange>). COP.JAR kopiert den Wert des Stammdatenattributs DESCRIPTION (<SourceAttribute>) des aktuellen Elementes (<IsSource>) auf alle Elemente der Klasse DRAWING_2D und MODEL_3D (<TargetClass>), die direkt dem aktuellen Element untergeordnet (<Relatives>children</Relatives>) und in Arbeit (<TargetValidState>) sind. COP.JAR kopiert den Wert des Stammdatenattributs DESCRIPTION in das Attribut DESCRIPTION (<TargetAttribute>) der Zielelemente. COP.JAR überschreibt das Attribut DESCRIPTION (<Overwrite>) in den Zielelementen.
Beispiel - Benennung beim Speichern einer 2D Zeichnung oder eines 3D Modells von den Stammdaten kopieren
Mit folgende Konfiguration kopiert COP.JAR beim Speichern einer neuen 2D Zeichnung oder eines neuen 3D Modelles die Beschreibung der Stammdaten automatisch auf die Zeichnung oder auf das 3D Modell.
<Class extends="DMMasterdata">
<Name>MASTERDATA</Name>
<PostApplyListener>com.cop.biz.MasterdataPostApplyListener</PostApplyListener>
<COPJobOnStructuredChange>copy_description</COPJobOnStructuredChange>
</Class>
In diesem Anwendungsbeispiel führt COP.JAR den Job "CopyDescriptionToChildren" mit dem aktuellen Element (in diesem Fall Stammdaten) aus, sobald sich die Struktur des Elementes ändert (<COPJobOnStructuredChange>).
Siehe auch
(c) 2018 COP Informatik AG www.copag.ch