リスト
Workatoでは、アプリケーション間でリストを読み取り、処理し、書き込むことができます。 リストアイテムは個別またはバッチで操作できます。
このガイドでは、Workatoレシピでリストを管理する方法について説明します。 レシピのデータツリーにリストデータがどのように表示されるか、リストデータピルをマッピングおよび処理するさまざまな方法、一般的なユースケースのヒントについて説明します。
リストデータピル
リストデータピルは、データツリーに行アイコン付きで表示されます:
データツリー内のリストアイコン
Formulaモードを使用したリストデータピルのマッピング
文字列または数値を想定する入力フィールドなど、一部の入力フィールドでは、テキストモードでリストデータピルを選択できない場合があります。 このような場合は、リストデータピルをマッピングするために、フィールドをFormulaモードに切り替えます。
Formulaモードでのリストデータピルのマッピング
リストデータピルの使用方法
次の方法を使用して、リストデータピルをアクションにマッピングできます:
サンプルCSVの使用
このセクションでは、園芸用品在庫のサンプルCSVファイルを使用して、レシピでのリストの動作を示します。 ファイルはフォルダ内の新規CSVファイルトリガーを使用して読み取られ、3行のリストに解析されます。
サンプルCSVを表示
Manufacturer,Model,Category,Item Name,Item Code,Description,Unit Cost,Unit Price,Taxable,Tax,Material,Color,Dimensions
Sierra Gardening,MS-321,Gardening supplies,Pine wood potting bench,MS-321,Pine wood potting bench with durable construction and a stylish finish.,74.5,119.99,Yes,0.0875,Pine,White,30 inches
Sierra Gardening,MS-322,Gardening supplies,Cherry wood potting bench,MS-322,Cherry wood potting bench with durable construction and a stylish finish.,74.5,119.99,Yes,0.0875,Cherry,Natural,30 inches
Sierra Gardening,MS-323,Gardening supplies,Cedar wood potting bench,MS-323,Cedar wood potting bench with durable construction and a stylish finish.,74.5,119.99,Yes,0.0875,Cedar,Black,30 inchesこのファイルをBoxフォルダにアップロードして、このガイドの例を試すことができます。
リスト処理なしでの直接使用
リストからデータピルを直接マッピングすると、最初のアイテムのみが使用されます。
たとえば、リスト処理なしでリストデータピルをログメッセージアクションに直接マッピングすると、アクションはCSVファイルから最初の行のみを取得します。
ログメッセージアクションでリストデータピルを直接使用するレシピ。 レシピの例
ジョブ詳細ページでは、トリガー出力にCSVファイル内の3行すべてが表示されます。
CSVファイル内の行を表示するトリガー出力の詳細
ただし、ログメッセージ出力には最初の行のみが表示されます:
データの最初の行のみを表示するログメッセージ入力
リスト入力を受け入れるアクション
一部のアクションは、Salesforceの一括挿入および更新、会計アプリでの仕訳入力作成、ERPアプリでの受注作成など、リストを入力として受け入れます。
次の例では、一括挿入アクションを使用して、BoxのCSVファイルから新しい商品をSalesforceにインポートします:
リスト入力を使用するレシピの例。 レシピの例
これらのアクションには、リストデータピルのみを受け入れるソースリストフィールドが含まれます。 この入力を選択すると、データツリーからリストデータピルのみを選択できます。 行などのリストデータピルをこのフィールドにマッピングします。
アクションはリスト全体を処理します。 この例では、BoxのCSVファイルの3つの在庫アイテムがSalesforceの商品として作成されます。
ジョブ出力で、3つの商品が作成されたことを確認できます:
リスト入力によるSalesforce一括挿入
明示的なリスト処理でのRepeatステップの使用
アクションがリスト入力をサポートしていない場合は、Repeatステップを使用して、リスト内の各アイテムに対してアクションを実行できます。
Repeatステップを使用してNetSuiteの在庫アイテムリストを反復処理するレシピ。 レシピの例
行リストを反復処理するには、行リストデータピルをRepeatステップの入力として渡します。 レシピは、在庫アイテムの追加アクションをCSVの各行に対して1回ずつ、合計3回実行します。
リストデータピルをRepeatステップの入力として指定
Repeatステップを使用する場合に重要なのは、For eachデータツリーからデータピルを取得することです。
Foreachデータツリーからのデータピルのマッピング
これにより、各在庫アイテムの追加ステップでCSVの次の行が使用されます。
Repeatステップを使用する際の一般的な間違い
Repeatステップではなくリストデータピルからデータピルを直接マッピングすると、すべての反復で最初のアイテムのデータが使用されます。 これにより、重複レコードが作成されます。
Repeatステップではなくリストから誤って(直接)マッピングするレシピの例。 レシピの例
変数 by Workatoでリストを管理する
変数 by Workatoは、カスタムスキーマを持つ変数を使用した高度なリスト管理をサポートしています。 レシピでリストを作成し、その構造を定義し、アイテムを動的に追加またはクリアできます。
サポートされているリストアクションは次のとおりです:
LISTS BY WORKATOの非推奨に関する通知
Workatoはリスト by Workatoコネクターを非推奨にしました。 このコネクターを使用するアクティブなレシピに対するランタイムサポートは引き続き提供されますが、このコネクターを使用した新しいレシピの作成はできなくなりました。 また、今後このコネクターのバグ修正や機能強化は行いません。
カスタムスキーマのサポートやリストアイテムに対するより動的な制御により強化されたリスト管理を提供する変数 by Workatoコネクターへの移行をお勧めします。 固定回数のループでは、インデックスデータピルを使用したRepeat whileループでループの実行を制御します。
参考情報については、リスト by Workatoを参照してください。
ステップ出力をクリア
Repeatアクションを使用してレシピ内のステップを繰り返す場合、ステップ出力をクリアフィールドを設定できます。
ステップ出力をクリアフィールド
ステップ出力をクリアフィールドは、デフォルトでいいえに設定されています。 最初の反復で条件が満たされたときにステップ出力をクリアしない場合、後続の反復で条件が満たされない場合でも、変数は最初の反復の値を保持します。 次の予定がある場合は、ステップ出力をクリアフィールドの値をはいに変更することをお勧めします:
条件内にネストされたループ内で、前のステップのデータピルを使用する。
最新の反復の結果を使用する。この結果は、最初の反復の結果と異なる場合があります。
レシピでステップ出力をクリアフィールドを設定する方法を判断するには、次の例を考えてみます:
- 注文のリストを作成します。
- リスト内の各注文について:
- 注文金額が$1000を超える場合:
- 注文の割引を計算します。
- 割引を適用する場合:
- 変数
total_discountを割引額で更新します。
- 変数
- 注文金額が$1000を超える場合:
ステップ出力をクリアのデフォルト設定であるいいえを保持し、最初の反復で条件が満たされた場合、total_discount変数は最初の反復の値を保持します。
最初の反復:
- 注文金額は$1500です。
- Workatoは$150の割引を計算します。
total_discountが$150に更新されます。
- Workatoは$150の割引を計算します。
2回目の反復:
- 注文金額は$1200です。
- Workatoは$120の割引を計算します。
total_discountは誤って$150のままになります。
- Workatoは$120の割引を計算します。
このシナリオでは、2回目の反復でtotal_discountが不正確になり、新しい割引額$120が適用されず、最初の反復の値$150が保持されます。
ただし、ステップ出力をクリアをはいに設定した場合:
最初の反復:
- 注文金額は$1500です。
- Workatoは$150の割引を計算します。
total_discountが$150に更新されます。
- Workatoは$150の割引を計算します。
2回目の反復:
- 注文金額は$1200です。
- Workatoは$120の割引を計算します。
total_discountが$120に更新されます。
- Workatoは$120の割引を計算します。
Last updated: