Anwendungsintegration > ApplicationInterface > Objekte

Objektklassen

Von der Klasse AEObject ausgehend gibt es abgeleitete Klassen mit deren Hilfe Sie beispielsweise Objekte anlegen und bearbeiten können.

Objekte anlegen

Ermitteln Sie zuerst mit der Klasse "FolderTree" die Ordnerstruktur des Mandanten. Da es sich hierbei um einen Request handelt, wird die Methode sendRequestAndWait aufgerufen. Bestimmen Sie danach den Ordner in dem das Objekt angelegt werden soll. Objektnamen dürfen nur gewisse Zeichen enthalten und sind daher in einer eigenen Klasse implementiert. Wählen Sie über "UC4ObjectName" einen Namen für das Objekt. Der Anlegevorgang wird mit Hilfe der Klasse "CreateObject" vorgenommen. Rufen Sie danach auch hier die Methode sendRequestAndWait auf, um den Request an das Automation Engine System zu übertragen.

FolderTree tree = new FolderTree();
uc4.sendRequestAndWait(tree);
IFolder folder = tree.getFolder("/MATERIAL_MANAGEMENT/DAILY_CLOSING");

UC4ObjectName name = new UC4ObjectName("MM_CLOSING");
CreateObject create = new CreateObject(name, Template.JOBS_UNIX, folder);
uc4prod.sendRequestAndWait(create);

Ordner anlegen

Da es sich bei Ordner um Objekte handelt, funktioniert das Anlegen anlog.

UC4ObjectName fname= new UC4ObjectName("PRODUCTION");
CreateObject create = new CreateObject(fname, Template.FOLD, folder);
uc4.sendRequestAndWait(create);

Objekte bearbeiten

Um ein Objekt bearbeiten zu können, muss es zunächst mit der Klasse "OpenObject" geöffnet werden. Die Klasse bietet auch Methoden, um Informationen abfragen zu können. In dem untenstehenden Beispiel wird geprüft, ob es sich um einen UNIX-Job handelt. Danach können Sie mit Hilfe der Klasse "Job" die Einstellungen und Attribute im Job-Objekt setzen. Beachten Sie, dass die Namen von Benutzer-, Agent- und Zeitzonen-Objekten aufgrund der abweichenden Namenskonventionen in speziellen Klassen implementiert sind.

Nachdem das Objekt fertig bearbeitet ist, muss es natürlich per Request übermittelt und gespeichert werden. Die Klasse "SaveObject" enthält die dafür notwendigen Methoden. Vergessen Sie auch nicht das Objekt zu schließen.

OpenObject open = new OpenObject(name);
uc4.sendRequestAndWait(open);

if (open.getType().equalsIgnoreCase("JOBS_UNIX"))
{
Job job = (Job) open.getUC4Object();

job.header().setArchiveKey1("Material_Management");
job.attributes().setPriority(100);
job.attributes().setHost(new UC4HostName("UNIX01"));
job.setPostProcess(script);

AttributesUnix hostattributes = (AttributesUnix) job.hostAttributes();
hostattributes.setShell("csh");
hostattributes.setReportDatabase(true);
hostattributes.setReportErrorOnly(true);

SaveObject save = new SaveObject(job);
uc4.sendRequestAndWait(save);
uc4.sendRequestAndWait(new CloseObject(job));
}

Objekte löschen

Verwenden Sie Klasse "DeleteObject", um Objekte zu löschen.

DeleteObject delete = new DeleteObject(name);
uc4.sendRequestAndWait(delete);

Objekte suchen

Die Klasse "SearchObject" bietet Ihnen die Möglichkeit nach Objekten zu suchen. Genauso wie im UserInterface können Sie Suchparameter definieren. Im Beispiel wird nach Workflows gesucht, die mit der Namensbezeichnung "FIBU" beginnen. Der Request liefert Ihnen ein Ergebnis, welches mit einem Iterator durchlaufen werden kann. Für jeden Ergebniseintrag lassen sich Informationen wie z.B: der Objektname ermitteln.

SearchObject search = new SearchObject();
search.setTypeJOBP(true);
search.setName("FIBU*");

uc4.sendRequestAndWait(search);

if(search.size() > 0)
{
Iterator it = search.resultIterator();
while(it.hasNext())
{
SearchResultItem result = (SearchResultItem) it.next();
System.out.println("Result: " + result.getName());
}
}

 

Siehe auch:

Klassen zu Workflows und Schedules
Klassen zu Aktivitäten

Klassen zu Statistik und Report

Klassen zur Systemübersicht

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH