メイン コンテンツをスキップする 補完的コンテンツへスキップ

親ジョブのセットアップ

手順

  1. ParentJobという名前の新しいジョブを作成し、tFileInputDelimitedコンポーネント、tFlowToIterateコンポーネント、tRunJob、2つのtJavaコンポーネントを追加します。
  2. [Row[ (行) > [Main] (メイン)接続を使ってtFileInputDelimitedコンポーネントをtFlowToIterateコンポーネントに、[Row] (行) > [Iterate] (反復処理)接続を使ってtFlowToIterateコンポーネントを2番目のtJavaコンポーネントに、[Trigger] (トリガー) > [Run if] (条件付き実行)接続を使って2番目のtJavaコンポーネントを最初のtJavaコンポーネントに、[Trigger] (トリガー) > [Run if] (条件付き実行)接続を使って2番目のtJavaコンポーネントをtRunJobコンポーネントに接続します。
  3. tFileInputDelimitedコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
    • [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックし、ポップアップダイアログボックスで、文字列型のカラムJob_Nameとブール型のカラムExecuteを追加して、入力データのスキーマを定義します。完了したら、[OK]をクリックしてダイアログボックスを閉じます。
    • [File name/Stream] (ファイル名/ストリーム)フレームの横にある[...]ボタンをクリックし、ファイルFile_For_Execute.txtがあるフォルダーに移動し、ファイルを選択します。
    • ファイルFile_For_Execute.txtにあるフィールドを区切るために使う文字を[Field Separator] (フィールド区切り)入力します(この例では",")。
    • [Header] (ヘッダー)フィールドを1に設定します。
  4. 2つのtJavaコンポーネント間の接続を選択します。[Component] (コンポーネント)ビューの[Condition] (条件)フィールドに次のように入力して、リジェクトされたジョブをキャッチします。
    !((Boolean)globalMap.get("row1.Execute"))
  5. tJava_2コンポーネントとtRunJob_1コンポーネントの間の接続を選択します。[Component] (コンポーネント)ビューの[Condition] (条件)フィールドに次のように入力して、[Execute] (実行)フィールドがtrueのジョブの実行をトリガーします。
    ((Boolean)globalMap.get("row1.Execute"))
  6. tRunJobコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
    • [Use dynamic job] (ダイナミックジョブを使用)チェックボックスをオンにして、表示された[Context job] (コンテキストジョブ)フィールドで[Ctrl] + [Space]を押し、tFlowToIterateコンポーネントによって作成された反復グローバル変数を変数のリストから選択します。この例ではtFlowToIterate_1.Job_Nameです。[Context job] (コンテキストジョブ)フィールドには((String)globalMap.get("row1.Job_Name"))が入力されます。各反復で、この変数は呼び出されるジョブの名前として解決されます。
    • [Job] (ジョブ)フィールドの横にある[...]ボタンをクリックし、実行するジョブを[Select Job] (ジョブの選択)ダイアログボックスですべて選択し、[OK]をクリックしてダイアログボックスを閉じます。この例では、ChildJob1からChildJob5までのすべてです。
  7. tJava_1コンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。[Code] (コード)フィールドに次のように入力して、リジェクトされた子ジョブをログに記録します。
    System.out.println("----------------------------------");
    System.out.println("MESSAGE : " + ((String)globalMap.get("row1.Job_Name")) + " JOB hasn't been selected for execution ... ");
    System.out.println("----------------------------------");

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。