Von der Klasse AEObject ausgehend gibt es abgeleitete Klassen mit deren Hilfe Sie beispielsweise Objekte anlegen und bearbeiten können.
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);
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);
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));
}
Verwenden Sie Klasse "DeleteObject", um Objekte zu löschen.
DeleteObject delete = new DeleteObject(name);
uc4.sendRequestAndWait(delete);
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 |