Klasy definicji Java i skrypty automatyzacji
W tym samym czasie w strukturze obiektu można używać klasy definicji Java™ i skryptu automatyzacji. Klasa definicji Java jest wykonywana przed skryptem automatyzacji dla każdej funkcji.
Niektóre struktury obiektów zawarte w strukturze integracji i menedżer migracji udostępniają klasy definicji Java, które filtrują dane. Na przykład pozycja struktury obiektów filtruje pozycje, które są typu TOOL. Gdy skrypt automatyzacji jest implementowany za pomocą klasy definicji Java, skrypt automatyzacji może przesłonić filtrowanie klasy definicji Java i usunąć filtrowanie klasy Java lub zmienić kryteria filtrowania, aby wykluczyć więcej danych z lub dodać więcej danych w komunikacie XML.
Na przykład klasa definicji Java struktury obiektu MXOPERLOC odfiltrowuje lokalizacje typu LABOR, zezwalając jednocześnie na włączenie lokalizacji typu OPERATING do komunikatu. Istnieje możliwość zmiany filtrowania, dodania dalszych filtrów lub zastąpienia filtru domyślnego. Poniższy przykładowy skrypt zmienia sposób przetwarzania tak, aby lokalizacje typu OPERATING zostały odfiltrowane, i kontynuuje przetwarzanie lokalizacji typu LABOR:
def skipMbo(ctx):
if ctx.getMboName()=='LOCATIONS':
if ctx.getMbo().getString("type")=="LABOR":
ctx.process()
if ctx.getMbo().getString("type")=="OPERATING":
ctx.skipMbo()
Poniższy przykładowy skrypt rozszerza filtrowanie struktury obiektu MXOPERLOC o typ COURIER:
if ctx.getMboName()=='LOCATIONS':
if ctx.getMbo().getString("type")=="COURIER":
ctx.skipMbo()
Poniższy przykładowy skrypt zastępuje filtrowanie klasy definicji tak, aby odfiltrowywane były wyłącznie lokalizacje typu COURIER:
def skipMbo(ctx):
if ctx.getMboName()=='LOCATIONS':
if ctx.getMbo().getString("type")=="COURIER":
ctx.skipMbo()
else:
ctx.process()