Configurer le Job parent
Procédure
-
Créez un Job nommé ParentJob et ajoutez un composant tFileInputDelimited, un tFlowToIterate, un tRunJob et deux tJava.
- Reliez le composant tFileInputDelimited au tFlowToIterate à l'aide d'un lien Row > Main. Reliez le tFlowToIterate au second tJava à l'aide d'un lien Row > Iterate. Reliez le second tJava au premier tJava à l'aide d'un lien Trigger > Run if. Reliez le second tJava au tRunJob à l'aide d'un lien Trigger > Run if.
-
Double-cliquez sur le tFileInputDelimited afin d'ouvrir sa vue Basic settings.
- Cliquez sur le bouton [...] près de Edit schema et, dans la boîte de dialogue qui s'ouvre, définissez le schéma des données d'entrée en ajoutant deux colonnes : Job_Name de type String et Execute de type Boolean. Cela fait, cliquez sur OK pour fermer la boîte de dialogue.
- Cliquez sur le bouton [...] près du champ File name/Stream. Naviguez jusqu'au dossier dans lequel se trouve le fichier File_For_Execute.txt, puis sélectionnez le fichier.
- Saisissez le caractère utilisé pour séparer les champs dans le fichier File_For_Execute.txt, dans le champ Field Separator ("," dans cet exemple).
- Configurez le champ Header à 1.
-
Sélectionnez le lien entre deux composants tJava. Saisissez ce qui suit dans le champ Condition de la vue Component afin de capturer les Jobs rejetés :
!((Boolean)globalMap.get("row1.Execute"))
-
Sélectionnez le lien entre le composant tJava_2 et le composant tRunJob_1. Saisissez ce qui suit dans le champ Condition dans la vue Component afin de déclencher l'exécution des Jobs dont le champ Execute est true :
((Boolean)globalMap.get("row1.Execute"))
-
Double-cliquez sur le tRunJob afin d'ouvrir sa vue Basic settings.
- Cochez la case Use dynamic job et, dans le champ Context job qui s'affiche, appuyez sur les touches Ctrl+Espace. Dans la liste des variables, sélectionnez la variable globale itérative créée par le tFlowToIterate, tFlowToIterate_1.Job_Name dans cet exemple. Le champ Context job est ensuite renseigné avec ((String)globalMap.get("row1.Job_Name")). À chaque itération, cette variable sera résolue comme le nom du Job à appeler.
- Cliquez sur le bouton [...] à côté du champ Job et, dans la boîte de dialogue [Select Job], sélectionnez tous les Jobs que vous souhaitez exécuter. Cliquez sur OK pour fermer la boîte de dialogue. Dans cet exemple les Jobs vont de ChildJob1 à ChildJob5.
-
Double-cliquez sur le composant tJava_1 pour ouvrir sa vue Basic settings. Saisissez ce qui suit dans le champ Code afin d'enregistrer les Jobs enfants rejetés.
System.out.println("----------------------------------"); System.out.println("MESSAGE : " + ((String)globalMap.get("row1.Job_Name")) + " JOB hasn't been selected for execution ... "); System.out.println("----------------------------------");
Cette page vous a-t-elle aidé ?
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.