Teilezuordnungs-Sequenznummern anpassen
Ziel
Passen Sie die Standardlogik an, um die Teile-Zuordnungssequenz mit einer benutzerdefinierten Nummer zu starten oder die Sequenz basierend auf bestimmten Organisationsanforderungen anzuzeigen.
Lösung
Verwenden Sie das standardmäßige Delegate-Framework, um die Zuordnungs-Sequenznummern während der Teilezuordnung automatisch zu füllen, während Sie es den Kunden ermöglichen, benutzerdefinierte Logik einzubinden.
Voraussetzungen
Um diese Aufgabe auszuführen, müssen Sie Erfahrung in folgenden Bereichen haben:
• Java-Grundlagen (Vererbung, Sammlungen)
• Dienstprogramm Windchill Delegates und xconfmanager
• MPMLink-Objekte: MPMOperation, MPMOperationToPartLink, AssociativeUsageLink
Lösungselemente
• NextAllocationSequenceNumberDelegate
Schnittstelle, die Windchill beim Erstellen neuer MPMOperationToPartLink Objekte aufruft.
• DefaultNextAllocationSequenceNumberDelegate
OOTB-Implementierung, die die Zuordnungs-Sequenznummer um eins erhöht.
• CustomNextAllocationSequenceNumberDelegate
Auf projektspezifische Zuordnungsregeln zugeschnittene benutzerdefinierte Implementierung
Verfahren
Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Logik für die Teile-Zuordnungssequenz zu implementieren:
1. Erstellen Sie eine neue Delegate-Klasse, z.B. CustomNextAllocationSequenceNumberDelegate, indem Sie DefaultNextAllocationSequenceNumberDelegate erweitern.
2. Registrieren Sie den Delegate in der Datei mpmlink.service.properties.xconf.
3. Überschreiben Sie die populateAllocationData() Methode und optional getIncrementStep().
4. Führen Sie xconfmanager -p aus, und starten Sie Methodenserver neu.
OOTB-Implementierung
Die OOTB-Implementierung für die Teile-Zuordnungssequenz wird hier angezeigt:
XCONF-Beispielausschnitt
Im Folgenden finden Sie ein Beispiel für eine XCONF-Konfiguration, mit der Ihr benutzerdefinierter Delegate registriert wird:
<Service context="default"
name="com.ptc.windchill.mpml.processplan.operation.NextAllocationSequenceNumberDelegate">
<Option cardinality="singleton"
requestor="com.ptc.windchill.mpml.processplan.operation.MPMOperationHolder"
selector="DEFAULT"
serviceClass="com.ptc.windchill.mpml.processplan.operation.CustomNextAllocationSequenceNumberDelegate"/>
</Service>
Beispielimplementierung
Das folgende Beispiel zeigt eine benutzerdefinierte Implementierung des Zuordnungssequenz-Delegates, die die Teilezuordnungs-Sequenznummer um zwei erhöht.
package com.ptc.windchill.mpml.processplan.operation;
public class CustomNextAllocationSequenceNumberDelegate extends DefaultNextAllocationSequenceNumberDelegate {
@Override
protected long getIncrementStep() {
//Override the default increment of 1 with a step increment of 2.
return 2L;
}
}