---
sourceDocument: Yokohama ビルドのワークフロー
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/build-workflows

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama ビルドのワークフロー

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# For Each フローロジック

# For Each フローロジック {#ariaid-title1}

* リリースバージョン: Yokohama
* 
* 更新日 2025年01月30日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：3分

レコードリスト内の各レコードに 1 つ以上のアクションを適用します。  
\[For Each\] フローロジックは、1 つ以上のアクションをレコードリストに適用します。このフローでは、フローロジック内に含まれるアクションがリスト内の各レコードに適用されます。  
注:  
フローロジックの For each item 分岐の内からデータピル値を設定すると、データピル値は同じ分岐内の他のアクションでのみ使用できます。フローロジック分岐の外から For each 分岐の内で設定されたデータピル値を参照すると、null 値が生成されます。

特に For Each ロジックブロックに反復ごとに複合アクションが含まれている際は、多数のレコードの反復処理はリソースを集中的に使用する可能性があります。パフォーマンスの問題を回避するには、com.snc.process_flow.reporting.level システムプロパティを使用してレポートをオフにします。詳細については、「[ワークフロースタジオ フローシステムプロパティ](https://servicenow-prod.fluidtopics.net/5qzZ4Jrkm0wnPZQPh4hfUQ "フローの処理方法を設定します。")」を参照してください。

## 入力 {#flow-logic-for-each__section_tyr_cxk_r2b}

アイテム
:   データタイプ：Records  
    順番に処理するレコードを指定する Sys ID 値のリストまたはレコードデータピル。\[複数のレコードの検索\] アクションを使用して、レコードリストを生成できます。詳細については、「[「複数レコードのルックアップ」アクション](https://servicenow-prod.fluidtopics.net/C15dNrOLkiEkqjfQIiw2PQ "定義された条件を使用して、任意のテーブルで複数のレコードを検索します。")」を参照してください。  
    注:  
    アイテムを特定の順序で処理する場合は、この入力のアイテムの初回のソートを事前に実行しておく必要があります。たとえば、\[順番\] オプションを使用して、\[複数のレコードの検索\] アクションの結果をソートします。

## 出力 {#flow-logic-for-each__section_vxs_gzk_r2b}

\[テーブル名\] レコード
:   データタイプ：Record  
    ループの現在のレコードです。  
    注:  
デフォルトでは、すべてのフローループは、ループの最初と最後の反復の実行の詳細のみを保存します。ループのすべての反復についてレポートするには、ループ実行の詳細を収集するフローごとにフロー実行設定レコードを作成します。フロー実行設定の詳細については、「[フロー実行の設定](https://servicenow-prod.fluidtopics.net/4ctRxIzxiSrAJ68jii3CTg "実行優先度、レポートレベル、ログ記録レベルなど、個々のフロー、サブフロー、またはアクションの実行時設定を指定します。")」を参照してください。  

## 変更によって影響を受ける可能性がある構成アイテムごとにメールを送信する

この例では、変更要求レコードが作成されると、フローが開始します。このフローでは、\[複数のレコードの検索\] アクションを使用して、変更要求の要求者にアサインされた \[構成アイテム\] レコードを検索します。このフローでは、For Each フローロジックを使用して、変更要求の影響を受ける可能性のある各構成に関するメールを送信します。\[複数のレコードの検索\] アクションの出力には、処理するレコードのリストが含まれています。

フロー実行の詳細には、ループの各反復に使用される構成アイテムレコードが示されます。

## 一般的なガイドライン {#flow-logic-for-each__section_vkq_bcs_tbc}

これらの一般的なガイドラインは、For Each フローロジックで使用します。

追加するアイテムが 1,000 を超えないようにする
:   レコード数が 1,000 を超えるリストを反復処理しないでください。フローのパフォーマンスを最適化するために、レコードリストを小さく保ちます。1,000 を超えるレコードを含むリストを反復処理するには、リストを小さなセクションに分割し、複数のフローを使用します。

For Each フローロジックに依存するステージの定義を避ける
:   フローデザイナーでは \[For Each\] ブロック内にステージを追加できません。\[For Each\] ブロックの前後にのみステージを追加できます。

ネストされた For Each ループを避ける
:   多数のレコードを処理するネストされた For Each ループは避けてください。ループがネストされた場合は、フローが 1 時間より長く実行されないようにするフロートランザクションクォータのルールによって停止するまでフローが実行されることがあります。トランザクション割り当ての詳細については、「[トランザクション割り当て](https://www.servicenow.com/docs/access?context=c_TransactionQuotas&version=yokohama&pubname=yokohama-platform-administration&ft:locale=en-US)」を参照してください。
**関連概念**   

* [サブフロー出力フローロジックのアサイン](https://servicenow-prod.fluidtopics.net/OExf~gA3Il3blMF4GufWOg "サブフローの実行が完了したときに返されるデータを指定します。親フローのデータとして、または別のプロセスの入力として、サブフローの出力を使用します。")
* [Call a Workflow フローロジック](https://servicenow-prod.fluidtopics.net/EsMEaUDg1BZ7mOMOoIFXGw "公開済されたアクティブなワークフローをフローから実行します。フローデータをワークフロー入力として使用できます。たとえば、現在のレコードをワークフロー入力として指定できます。")
* [Do the following until フローロジック](https://servicenow-prod.fluidtopics.net/GeK4lIQP5qGNRlxe5cohtQ "終了条件が満たされるまで、1 つ以上のアクションを繰り返し適用します。フローデータを使用して終了条件を指定できます。")
* [Do the following in parallel フローロジック](https://servicenow-prod.fluidtopics.net/MTghyvVDuHfiMKeqZDadpA "分離されたフローロジックブロック内の別々のパスでアクションとサブフローを実行します。")
* [動的フローのフローロジック](https://servicenow-prod.fluidtopics.net/KAHx2BAhw4LbWJqTU~K1Xw "ランタイムデータを使用して、フローまたはサブフローを動的に識別して実行します。動的に呼び出されるフローまたはサブフローに必要な入力を提供するテンプレートをビルドします。")
* [終了フローのフローロジック](https://servicenow-prod.fluidtopics.net/GvkJSsIuXysLR73EzAb3TQ "現在のフローの実行を停止します。終了条件を指定するには、フローのブランチ内で [終了フロー (End Flow)] を使用します。たとえば、特定の If フローロジックブロックに達したときにフローを終了します。")
* [If フローロジック](https://servicenow-prod.fluidtopics.net/m7ddD0KbxtD5VQzZO10bxg "条件のリストが満たされた場合にのみ、1 つ以上のアクションを選択的に適用します。")
* [Make a decision フローロジック](https://servicenow-prod.fluidtopics.net/8mKW5Lz8ML~6M_RUQkuiiA "複数の条件付きパスが必要な状況では、ネストされた If、Else If、または Else フローロジックの代わりに、ディシジョンテーブルブランチロジックを使用できます。たとえば、必要な自動車保険の種類を決定する場合は、ディシジョンテーブルに年齢、事故歴、車種などを追加入力して、保険の適用範囲のレベルを決定できます。このロジックにより、時間が短縮され、ネストされた if 条件や switch case 文より可読性の高い形式になります。")
* [\[フロー変数の設定\] フローロジック](KZ38~JezVF8YaH0nv4e2_Q "フローデータをデータピルとして格納する 1 つ以上のフロー変数に値をアサインします。データピルを参照してフロー変数の値にアクセスします。")
* [Try フローロジック](https://servicenow-prod.fluidtopics.net/emFMY8195Qhgi9fILkeTwQ "フローロジックブロック内でエラーが発生した場合でも、フローの実行を継続できるようにします。フローロジックブロック内のエラーに応じて一連のアクションを実行します。")
* [Wait for a duration フローロジック](https://servicenow-prod.fluidtopics.net/xw7y85X_HkvpYPu8yslYhQ "自動化プロセス中に操作する時間をユーザーに与えたり、特定の日時まで操作の完了を待機するには、このフローロジックを使用します。に展開したカスタムモバイルアプリケーションを使用して管理しました。")  
**関連資料**   

* [Exit Loop フローロジック](https://servicenow-prod.fluidtopics.net/OPjYl5h_dKmt4rBQHcYeGw "If フローロジックの条件が満たされたら、フローロジックループを終了します。フローロジックループの後の次のステップからフローの実行を続行します。このフローロジックはブレークとも呼ばれます。")
* [\[フロー出力の取得\] フローロジック](agFSeffHRIBrsRs7MUdIuQ "動的フローまたはサブフローによって生成された出力値を取得します。")
* [Go back to フローロジック](https://servicenow-prod.fluidtopics.net/6h~6i6SbX7zDIcCy4gB4EA "フロー内の前のステップに戻り、一連のアクションを繰り返します。")
* [Skip Iteration フローロジック](https://servicenow-prod.fluidtopics.net/1v8FJBCWMm3_p9tkHyrzJA "If フローロジックの条件が満たされた場合に、フローロジックループの現在の反復をスキップします。リスト内の次のアイテムを使用してフローロジックループの実行を続行します。このフローロジックは続行とも呼ばれます。")

