Manuel d'intégration des applications > Interface d'application > Workflow et Schedule

Classes de Workflows et de Schedules

Les deux types d'objet administrent des Tâches. Grâce aux vastes possibilités de réglage, des classes particulières sont disponibles.

Ajout de Tâches dans des Workflows

Commencez par ouvrir le Workflow. Cherchez les Tâches que vous souhaitez ajouter dedans à l'aide de la classe "AddJobPlanTask". Il est ensuite nécessaire d'utiliser la classe "JobPlanTask" pour modifier d'autres propriétés. L'exemple suivant expose certaines des nombreuses méthodes. Par exemple, une condition de calendrier est ajoutée à la Tâche "FICHIER.ENTREE". Elle doit en outre avoir le statut ENDED_OK pour que la Tâche "GS.FIN" puisse commencer. Ces conditions préalables sont définies avec la méthode "addDependencies", qui associe également les deux Tâches. Les Tâches peuvent maintenant être intégrées dans le Workflow avec la méthode "addTask". La méthode "closeJobPlanTasks" est particulièrement pratique, car elle associe les Tâches pour lesquelles vous n'avez pas encore défini de prédécesseur ou de successeur avec le début et la fin du Workflow. La méthode "format" permet d'obtenir une vue claire des Tâches.

Pour des raisons de compatibilité, les noms des classes contiennent encore l'ancienne désignation "Chaîne de job" à la place du Workflow.

OpenObject open = new OpenObject(new UC4ObjectName("MAWI.TAG"));
uc4.sendRequestAndWait(open);

JobPlan jobplan = (JobPlan) open.getUC4Object();

AddJobPlanTask add1 = new AddJobPlanTask(new UC4ObjectName("DATEI.EINGANG"));
uc4.sendRequestAndWait(add1);
AddJobPlanTask add2 = new AddJobPlanTask(new UC4ObjectName("MAWI.ABSCHLUSS"));
uc4.sendRequestAndWait(add2);
AddJobPlanTask add3 = new AddJobPlanTask(new UC4ObjectName("MAWI.GRUPPE"));
uc4.sendRequestAndWait(add3);

JobPlanTask task1 = add1.getJobPlanTask();
JobPlanTask task2 = add2.getJobPlanTask();
JobPlanTask task3 = add3.getJobPlanTask();

UC4ObjectName cale = new UC4ObjectName("FIRMENKALENDER");
UC4ObjectName calekey = new UC4ObjectName("ARBEITSTAGE");
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));

Ajout de Tâches dans des Schedules

L'ajout de Tâches fonctionne comme pour le Workflow. Seuls les noms de classes et les méthodes diffèrent légèrement.

OpenObject open = new OpenObject(new UC4ObjectName("JAPI_JSCH"));
uc4.sendRequestAndWait(open);


Schedule schedule = (Schedule) open.getUC4Object();

AddScheduleTask add1 = new AddScheduleTask(new UC4ObjectName("GS.JOUR"));
uc4.sendRequestAndWait(add1);
AddScheduleTask add2 = new AddScheduleTask(new UC4ObjectName("GS.SEMAINE"));
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("AGENDA_ENTREPRISE");
UC4ObjectName calekey = new UC4ObjectName("JOURS_OUVRES");
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));

 

Rubriques connexes :