Manuel d'intégration des applications > Interface d'application > Objets

Classes d'objets

Partant des classes UC4Objects, il existe des classes dérivées qui vous permettent par exemple de créer et de traiter des objets.

Création d'objets

Commencez par rechercher la structure des dossiers du Client avec la classe "FolderTree". Comme il s'agit ici d'une requête, la méthode sendRequestAndWait est exécutée. Déterminez ensuite le dossier dans lequel l'objet doit être créé. Les noms d'objets ne doivent contenir que certains caractères et sont donc mis en œuvre dans une classe distincte. Sélectionnez un nom d'objet via "UC4ObjectName". Le processus de création est réalisé à l'aide de la classe "CreateObject". Exécutez ensuite ici aussi la méthode sendRequestAndWait pour transférer la requête au système AE.

FolderTree tree = new FolderTree();
uc4.sendRequestAndWait(tree);
IFolder folder = tree.getFolder("/MATERIALWIRTSCHAFT/TAGESABSCHLUSS");

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

Création de répertoires

Les répertoires étant un type d'objet, leur création se rapproche de celle des objets.

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

Modification d'objets

Afin de pouvoir modifier un objet, celui-ci doit être ouvert dans la classe "OpenObject". Pour traiter un objet, vous devez tout d'abord l'ouvrir avec la classe "OpenObject", qui propose également des méthodes permettant de demander des informations. Dans l'exemple suivant, on vérifie s'il s'agit d'un Job UNIX. Ensuite, vous pouvez définir les paramètres et les attributs dans l'objet Job à l'aide de la classe "Job". Attention : les noms d'objets Utilisateur, Agent et Fuseau horaire doivent être mis en œuvre dans des classes spéciales, car leurs conventions de noms sont différentes. Les attributs de l'hôte sont également séparés par type de Job et gérés dans des classes distinctes.

Après avoir terminé le traitement de l'objet, il doit bien sûr être transmis et enregistré par requête. La classe "SaveObject" contient les méthodes nécessaires pour cela. N'oubliez pas non plus de fermer l'objet.

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

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

Job.header().setArchiveKey1("Materialwirtschaft");
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));
}

Suppression d'objets

Utilisez la classe "DeleteObject" pour supprimer des objets.

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

Recherche d'objets

La classe "SearchObject" vous permet de rechercher des objets. Comme dans l'Interface Utilisateur, vous pouvez définir des paramètres de recherche. Par exemple, on recherche les Workflows dont le nom commence par "FIBU". La requête vous fournit un résultat qui peut être exécuté avec un itérateur. Pour chaque entrée du résultat, certaines informations sont transmises (par ex. : le nom de l'objet).

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("Résultat : " + result.getName());
}
}

 

Rubriques connexes :