Beide Objekttypen verwalten Aufgaben. Durch die umfangreichen Einstellungsmöglichkeiten stehen deshalb besondere Klassen zur Verfügung.
Öffnen Sie zuerst den Workflow. Holen Sie mit der Klasse "AddJobPlanTask" jene Aufgaben, die Sie im Workflow einfügen möchten. Danach ist es notwendig, die Klasse "JobPlanTask" zu benutzen, um weitere Eigenschaften verändern zu können. Das untenstehende Beispiel hat einige der vielen Methoden herausgegriffen. Beispielsweise wird der Aufgabe "DATEI.EINGANG" eine Kalenderbedingung hinzugefügt. Sie muss außerdem den Status ENDED_OK aufweisen, damit die Aufgabe "MAWI.ABSCHLUSS" starten kann. Solche Vorgängerbedingungen werden mit der Methode "addDependencies" definiert. Sie verbindet auch gleich die beiden Aufgaben miteinander. Jetzt können die Aufgaben mit der Methode "addTask" in den Workflow integriert werden. Die Methode "closeJobPlanTasks" ist besonders praktisch, da sie die Aufgaben, für die Sie noch keinen Vorgänger bzw. Nachfolger festgelegt haben, mit dem Start und Ende des Workflows verbindet. Eine übersichtliche Ausrichtung der Aufgaben wird mit der Methode "format" bewerkstelligt.
Die Namen der Klassen enthalten aus Kompatibilitätsgründen noch die frühere Bezeichnung "JobPlan" anstelle von Workflow.
OpenObject open = new OpenObject(new UC4ObjectName("MM.DAY"));
uc4.sendRequestAndWait(open);
JobPlan jobplan = (JobPlan) open.getUC4Object();
AddJobPlanTask add1 = new AddJobPlanTask(new UC4ObjectName("FILE.INCOME"));
uc4.sendRequestAndWait(add1);
AddJobPlanTask add2 = new AddJobPlanTask(new UC4ObjectName("MM.CLOSING"));
uc4.sendRequestAndWait(add2);
AddJobPlanTask add3 = new AddJobPlanTask(new UC4ObjectName("MM.GROUP"));
uc4.sendRequestAndWait(add3);
JobPlanTask task1 = add1.getJobPlanTask();
JobPlanTask task2 = add2.getJobPlanTask();
JobPlanTask task3 = add3.getJobPlanTask();
UC4ObjectName cale = new UC4ObjectName("FIRM_CALENDAR");
UC4ObjectName calekey = new UC4ObjectName("WORKING_DAYS");
CalendarCondition calecond = new CalendarCondition(cale, calekey);
task1.calendar().addCalendarCondition(calecond);
task2.dependencies().addDependency(task1,TaskState.ENDED_OK);
jobplan.addTask(task1);
jobplan.addTask(task2);
jobplan.addTask(task3);
jobplan.closeJobPlanTasks(null);
jobplan.format();
SaveObject save = new SaveObject(jobplan);
uc4.sendRequestAndWait(save);
uc4.sendRequestAndWait(new CloseObject(jobplan));
Das Hinzufügen von Aufgaben funktioniert genauso wie beim Workflow. Lediglich die Klassennamen und Methoden unterscheiden sich ein wenig.
OpenObject open = new OpenObject(new UC4ObjectName("JAPI_JSCH"));
uc4.sendRequestAndWait(open);
Schedule schedule = (Schedule) open.getUC4Object();
AddScheduleTask add1 = new AddScheduleTask(new UC4ObjectName("MM.DAY"));
uc4.sendRequestAndWait(add1);
AddScheduleTask add2 = new AddScheduleTask(new UC4ObjectName("MM.WEEK"));
uc4.sendRequestAndWait(add2);
ScheduleTask task1 = add1.getScheduleTask();
ScheduleTask task2 = add2.getScheduleTask();
task1.setStartTime(new Time("08:00"));
task2.setStartTime(new Time("10:30"));
UC4ObjectName cale = new UC4ObjectName("FIRM_CALENDAR");
UC4ObjectName calekey = new UC4ObjectName("WORKING_DAYS");
CalendarCondition calecond = new CalendarCondition(cale, calekey);
task1.calendar().addCalendarCondition(calecond);
schedule.addTask(task1);
schedule.addTask(task2);
SaveObject save = new SaveObject(schedule);
uc4.sendRequestAndWait(save);
uc4.sendRequestAndWait(new CloseObject(schedule));
Siehe auch:
Klassen zu Objekten
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 |