Clases de definición Java y scripts de automatización

Puede utilizar una clase de definición Java™ y un script de automatización al mismo tiempo en una estructura de objeto. La clase de definición Java se ejecuta antes que el script de automatización para cada función.

Algunas de las estructuras de objeto que se incluyen en la infraestructura de integración y el gestor de migración proporcionan clases de definición Java que filtran datos. Por ejemplo, la estructura de objeto de elemento filtra los elementos que son del tipo TOOL. Cuando se implementa un script de automatización con una clase de definición Java, el script de automatización puede alterar temporalmente el filtrado de la clase de definición Java y eliminar el filtrado de la clase Java o cambiar los criterios de filtrado para excluir más datos o incluir más datos en el mensaje XML.

Por ejemplo, la clase de definición Java de la estructura de objeto MXOPERLOC filtra las ubicaciones del tipo LABOR mientras permite que las ubicaciones del tipo OPERATING se incluyan en el mensaje. Puede cambiar el filtrado, añadir más filtros o sustituir el filtrado predeterminado. El script de ejemplo siguiente cambia el proceso para filtrar las ubicaciones del tipo OPERATING y sigue procesando ubicaciones del tipo LABOR:

def skipMbo(ctx):
   if ctx.getMboName()=='LOCATIONS':
      if ctx.getMbo().getString("type")=="LABOR":
         ctx.process()
      if ctx.getMbo().getString("type")=="OPERATING":
        ctx.skipMbo()

El script de ejemplo siguiente añade más filtrado para la estructura de objeto MXOPERLOC filtrando el COURIER:

   if ctx.getMboName()=='LOCATIONS':
      if ctx.getMbo().getString("type")=="COURIER":
         ctx.skipMbo()

El script de ejemplo siguiente sustituye el filtrado de clase de definición de modo que sólo se filtren ubicaciones de tipo COURIER:

def skipMbo(ctx):
   if ctx.getMboName()=='LOCATIONS':
      if ctx.getMbo().getString("type")=="COURIER":
         ctx.skipMbo()
     else:
         ctx.process()