Java 定义类和自动化脚本

可以在对象结构上同时使用 Java™ 定义类和自动化脚本。 在每个函数的自动化脚本之前执行 Java 定义类。

集成框架 和迁移管理器 中包含的某些对象结构提供了用于过滤数据的 Java 定义类。 例如,项目对象结构过滤 TOOL 类型的项目。 使用 Java 定义类实现自动化脚本时,自动化脚本可以覆盖 Java 定义类的过滤,并除去 Java 类的过滤或更改过滤条件以从 XML 消息中排除更多数据或包含更多数据。

例如, MXOPERLOC 对象结构的 Java 定义类会过滤掉类型为 LABOR 的位置,同时允许将类型为 OPERATING 的位置包含在消息中。 您可以更改过滤,添加更多过滤,或者替换缺省过滤。 以下示例脚本变更处理以过滤掉类型为 OPERATING 的位置,并继续处理类型为 LABOR 的位置:

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

以下示例脚本通过过滤掉类型 COURIER 为 MXOPERLOC 对象结构添加更多过滤:

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

以下示例脚本替换定义类过滤,这样仅过滤掉类型为 COURIER 的位置:

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