Personnalisation du service de dénomination
Le service de dénomination utilise le mécanisme de délégation de service Windchill afin de vous permettre de définir les préférences suivantes pour un nouveau document CAO :
numéro du document CAO ;
nom du document CAO.
* 
La personnalisation du service de dénomination lors du chargement peut être utilisée avant Windchill 10.0 pour générer des noms et des numéros à l'aide d'un code personnalisé. Toutefois, dans les versions antérieures à Windchill 10.0, les paramètres ne sont pas disponibles lors des demandes de chargement et ne peuvent pas être utilisés dans la personnalisation du service de dénomination.
* 
Le service de dénomination s'applique à l'action de chargement uniquement.
L'ordre de priorité utilisé par le système pour nommer des règles et des personnalisations est le suivant :
Nom
1. Personnalisation du service de dénomination.
2. Nom de fichier. La préférence Supprimer l'extension de fichier du nom au chargement ne s'applique que si le nom est attribué en fonction d'un nom de fichier (nom CAO).
Numéro
1. Personnalisation du service de dénomination.
2. Nom de fichier. La préférence Supprimer l'extension de fichier du numéro au chargement ne s'applique que si le nom est attribué en fonction d'un nom de fichier (nom CAO).
Si les règles de dénomination et de numérotation standard de Windchill ne répondent pas aux besoins de votre société, vous pouvez personnaliser le service en vue d'affecter un nom et un numéro à un document CAO en fonction de cette logique personnalisée. Suivez les étapes ci-après pour personnaliser le service de dénomination :
1. Créez une classe Java implémentant l'interface EPMDocumentNamingDelegate. La définition de l'interface se présente comme suit :
package com.ptc.windchill.uwgm.proesrv.c11n;
public interface EPMDocumentNamingDelegate
{
public void validateDocumentIdentifier
(DocIdentifier docIdentifier);
}
La définition de la classe DocIdentifier se présente comme suit :
package com.ptc.windchill.uwgm.proesrv.c11n;
import java.util.HashMap;
public class DocIdentifier
{
private String m_modelName;
private String m_docName;
private String m_docNumber;
private HashMap m_parameters;
public DocIdentifier(String modelName, String docName,
String docNumber, HashMap params)
{ m_modelName = modelName; m_docName= docName;
m_docNumber= docNumber; m_parameters= params; }
/** get the CAD Name for the model **/
public String getModelName()
{ return m_modelName; }
/** get the EPMDocument name for the model **/
public String getDocName()
{ return m_docName; }
/** set the EPMDocument name for the model **/
public void setDocName(String docname)
{ m_docName = docname; }
/** set the EPMDocument number for the model **/
public void setDocNumber(String docnumber)
{ m_docNumber = docnumber; }
/** get the EPMDocument number for the model **/
public String getDocNumber()
{ return m_docNumber; }
/** get the Pro/E designated parameters for the model.
These are name-value pairs indexed by the name **/
public HashMap getParameters()
{ return m_parameters; }
}
2. Dans la nouvelle classe, implémentez la logique métier pour nommer/numéroter le document CAO (EPMDocument) selon la méthode suivante :
public void validateDocumentIdentifier(DocIdentifier docIdentifier)
L'objet DocumentIdentifier inclut les informations de nom et de numéro du document CAO qui sera créé via le service de chargement.
Utilisez l'élément
DocIdentifier.getModelName()
pour obtenir le nom CAO du document CAO représenté par cet objet DocIdentifier.
Les paramètres de l'application CAO peuvent être utilisés pour définir la numérotation/dénomination d'un document CAO.
Utilisez l'élément
DocIdentifier.getParameters()
pour obtenir les paramètres associés.
Utilisez les méthodes définies dans l'objet DocIdentifier pour définir les nouvelles valeurs de nom/numéro. Le service de chargement utilise ces suggestions le cas échéant. L'exemple d'implémentation se trouve à l'emplacement suivant :
<Windchill home>/codebase/com/ptc/windchill/uwgm/proesrv/
c11n/EPMDefaultDocumentNamingDelegate.java
3. Modifiez le fichier site.xconf (dans <Windchill>) en ajoutant la propriété suivante indiquant la disponibilité du service de personnalisation sur le serveur :
<Service context="default" name="com.ptc.windchill.uwgm.proesrv.c11n.
EPMDocumentNamingDelegate" targetFile="codebase/service.properties">
<Option cardinality="singleton" requestor="wt.epm.EPMDocument"
serviceClass="com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocument
NamingDelegate"/>
</Service>
Utilisez ensuite l'outil xconfmanager pour appliquer les modifications au fichier service.properties (exécutez
xconfmanager –p
)
)
Remplacez la valeur de serviceClass par le chemin d'accès de votre classe (remplacez
com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNami ngDelegate
par le chemin d'accès de votre classe).
4. Redémarrez le serveur de méthodes.
Est-ce que cela a été utile ?