Classes de définition Java et scripts d'automatisation

Vous pouvez utiliser une classe de définition Java™ et un script d'automatisation simultanément sur une structure d'objet. La classe de définition Java est exécutée avant le script d'automatisation pour chaque fonction.

Certaines structures d'objet sont incluses dans l'infrastructure d'intégration et le gestionnaire de migration fournit 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, il peut remplacer ou supprimer la fonction de filtre de la classe de définition Java, ou modifier les critères de filtre de manière à exclure ou à inclure plus de données dans le message XML.

Par exemple, la classe de définition Java de la structure d'objet MXOPERLOC élimine les emplacements de type LABOR et autorise les emplacements de 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()