Scripts d'automatisation et classes de définition Java
Vous pouvez utiliser une classe de définition Java™ et un script d'automatisation en même temps sur une structure d'objet. La classe de définition Java est exécutée avant le script d'automatisation pour chaque fonction.
Certaines des structures d'objet incluses dans l'infrastructure d'intégration et le gestionnaire de migration fournissent des classes de définition Java qui filtrent les données. Par exemple, la structure d'objet des articles filtre les articles dont le type est TOOL. Lorsqu'un script d'automatisation est implémenté avec une classe de définition Java, le script d'automatisation peut remplacer le filtrage de la classe de définition Java et supprimer le filtrage de la classe Java ou modifier les critères de filtrage pour exclure davantage de données du message XML ou en inclure davantage.
Par exemple, la classe de définition Java de la structure d'objet MXOPERLOC filtre les emplacements du type LABOR tout en autorisant les emplacements du type OPERATING à être inclus dans le message. Vous pouvez modifier les critères du filtre, en ajouter ou remplacer les critères par défaut. L'exemple de script suivant modifie le traitement de manière à exclure les emplacements de type OPERATING et continue de traiter les emplacements de type LABOR :
def skipMbo(ctx):
if ctx.getMboName()=='LOCATIONS':
if ctx.getMbo().getString("type")=="LABOR":
ctx.process()
if ctx.getMbo().getString("type")=="OPERATING":
ctx.skipMbo()
L'exemple de script suivant ajoute des critères de filtre à la structure d'objet MXOPERLOC en éliminant le type COURIER :
if ctx.getMboName()=='LOCATIONS':
if ctx.getMbo().getString("type")=="COURIER":
ctx.skipMbo()
L'exemple de script suivant remplace le filtre de la définition de classe de sorte que seuls les emplacement de type COURIER soient filtrés :
def skipMbo(ctx):
if ctx.getMboName()=='LOCATIONS':
if ctx.getMbo().getString("type")=="COURIER":
ctx.skipMbo()
else:
ctx.process()