Personnalisation des numéros de séquence d'allocation d'articles
Objectif
Vous pouvez personnaliser la logique par défaut pour démarrer la séquence d'allocation d'article à partir d'un numéro personnalisé ou afficher la séquence en fonction d'exigences organisationnelles spécifiques.
Solution
Utilisez la structure déléguée standard pour renseigner automatiquement les numéros de séquence d'allocation lors de l'allocation d'articles, tout en permettant aux clients de brancher une logique personnalisée.
Connaissances préalables
Pour effectuer cette tâche, vous devez disposer d'une bonne connaissance des éléments suivants :
• Principes de base de Java (héritage, collections)
• Délégués Windchill et utilitaire xconfmanager
• Objets MPMLink : MPMOperation, MPMOperationToPartLink, AssociativeUsageLink
Eléments de la solution
• NextAllocationSequenceNumberDelegate
Interface appelée par Windchill lorsque de nouveaux objets MPMOperationToPartLink sont créés.
• DefaultNextAllocationSequenceNumberDelegate
Implémentation prête à l'emploi qui incrémente de un le numéro de séquence d'allocation.
• CustomNextAllocationSequenceNumberDelegate
Implémentation personnalisée adaptée aux règles d'allocation spécifiques au projet.
Procédure
Pour implémenter une logique personnalisée pour la séquence d'allocation d'articles, procédez comme suit :
1. Créez une nouvelle classe de délégué, telle que CustomNextAllocationSequenceNumberDelegate, en étendant DefaultNextAllocationSequenceNumberDelegate.
2. Enregistrez le délégué dans le fichier mpmlink.service.properties.xconf.
3. Remplacez la méthode populateAllocationData() et éventuellement getIncrementStep().
4. Exécutez xconfmanager -p et redémarrez les serveurs de méthodes.
Implémentation prête à l'emploi
L'implémentation prête à l'emploi pour la séquence d'allocation d'articles est illustrée ici :
Exemple d'extrait XCONF
Voici un exemple de configuration XCONF qui enregistre votre délégué personnalisé :
<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>
Exemple d'implémentation
L'exemple suivant présente une implémentation personnalisée du délégué de séquence d'allocation qui incrémente de deux le numéro de séquence d'allocation d'articles.
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;
}
}