レコードリストから文字列のアレイを生成するためのカスタムアクションの作成

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:5分
  • ユーザーロールレコードリストから文字列のアレイを生成します。スクリプトステップを使用してレコードリストを反復処理する方法について説明します。

    始める前に

    必要なロール:admin または flow_designer

    このタスクについて

    この例を使用して、次の操作とステップのデモンストレーションを確認します。
    • ロールレコードのアクション入力を作成します。
    • ロールアクション入力を含む最大 3 つのユーザーロールレコードを検索します。
    • ユーザーロールレコードリストを処理するスクリプトステップを構成します。
    • ユーザーロールレコードリストを含むスクリプト入力変数を作成します。
    • 空のユーザーアレイを作成するスクリプトを記述します。
    • ユーザーロールレコードリストを反復処理するスクリプトを記述します。
    • ユーザーアレイに現在のユーザーフィールド値を入力するスクリプトを記述します。
    • ユーザーアレイと子ユーザー文字列のスクリプト出力変数を作成します。
    • 生成された文字列のユーザーアレイをデータピルとして出力します。
    • 3 つのサンプルユーザーでアクションをテストします。

    手順

    1. オプション: 作業を保存するアプリケーションを作成します。
      App Engine Studio を使用して、アプリケーションを計画、作成、および展開できます。カスタムアクションの構築に関する詳細については、「Building apps in App Engine Studio」を参照してください。
      たとえば、My Application というアプリケーションを作成します。
    2. 移動先 すべて > プロセス自動化 > ワークフロースタジオ.
    3. ホームページで、 [アクション] を選択します。
    4. 選択 新規 > アクション
      [アクションプロパティ] ダイアログが表示されます。
    5. 次のサンプル値を入力します。
      フィールド
      名前 文字列のロールアレイを持つユーザーを作成する
      アプリケーション グローバル
      アクセス可能 すべてのアプリケーションスコープ
      注:
      カスタムアクションを保存および展開するアプリケーションを作成した場合は、グローバルではなくそのアプリケーションを使用します。
    6. [アクションを構築] を選択します。
      ワークフロースタジオ インターフェイスが表示されます。
    7. [アクションアウトライン] から、 入力 > 入力の作成
      新しいアクション入力が表示されます。
    8. 次の値を使用してアクション入力を構成します。

      ロールレコードを保存するアクション入力を作成します。

      フィールド
      ラベル ロール
      タイプ Reference.Role [Reference.sys_user_role]
      必須 True
    9. [アクションアウトライン] から [新しいステップを追加] を選択します。
      利用可能なステップのリストが表示されます。
    10. [複数のレコードの検索] を選択します。
    11. 次の値を使用してステップを構成します。

      ロール入力変数を使用するように [複数レコードのルックアップ] ステップ条件を構成します。

      フィールド
      テーブル ユーザーロール [sys_user_has_role]
      条件 [ロール][次の値に等しい][アクション->ロール]
      注:
      [入力変数] からロールデータピルを選択します。
      順番 ロール
      ソートタイプ a ~ z
      結果の最大数 3
      注:
      この例では、デモンストレーションの目的で [結果の最大数] の設定を 3 レコードに制限しています。
    12. [アクションアウトライン] から [新しいステップを追加] を選択します。
      利用可能なステップのリストが表示されます。
    13. [スクリプト] を選択します。
    14. [入力変数] セクションから [変数の作成] を選択します。
    15. 次の値を使用して入力変数を構成します。

      [複数レコードのルックアップ] ステップのユーザーロールレコードデータピルを使用するように、スクリプトステップ入力変数を構成します。

      フィールド
      名前 userRoleRecord
      [ステップ->複数レコードのルックアップステップ->ユーザーロールレコード]
      注:
      [複数レコードのルックアップ] ステップからユーザーロールレコードデータピルを選択します。
      注:
      ユーザーロールレコードデータピルは、データパネルまたは [データピルピッカー] ボタンから選択できます。
    16. [スクリプト] に次のテキストを入力します。
      (function execute(inputs, outputs) {
        //Create an empty array
        var usersArray = [];
        var i = 0;
        //Iterate through the list of User Role records
        while(inputs.userRoleRecords.next()) {
          //Query User Role records for user field value
          var user = inputs.userRoleRecords.getDisplayValue('user');
          //Add current user name to array
          usersArray[i] = user;
          i += 1;
        }
        outputs.users = usersArray;
      })(inputs, outputs);
    17. [出力変数] から [変数の作成] を選択します。
    18. 次の値を使用してアクション出力を構成します。

      users という文字列のアレイを作成します。アレイ内に user という文字列変数を作成します。

      ラベル 名前 タイプ 必須
      ユーザー ユーザー Array.String True
    19. users Array.String を展開し、子文字列の名前を user に変更します。
    20. 次の値を使用して子アイテムを構成します。
      ラベル 名前 タイプ 必須
      user user String False
    21. [アクションアウトライン] から、 出力 > 出力の作成.
    22. 次の値を使用してアクションアウトラインを構成します。

      文字列のアレイを保存する users と呼ばれるアクション出力を作成します。

      ラベル 名前 タイプ 必須
      ユーザー ユーザー Array.String True
    23. users Array.String を展開し、子文字列の名前を user に変更します。
    24. 次の値を使用して子アイテムを構成します。
      ラベル 名前 タイプ 必須
      user user String False
    25. [編集モードを終了] を選択します。
      作成した出力フィールドが表示されます。
    26. users の場合は、[ステップ->スクリプトステップ->users] を選択します。

      スクリプトステップのユーザーデータピルを使用するようにアクション出力変数を構成します。

      注:
      スクリプトステップ users データピルは、データパネルまたは [データピルピッカー] ボタンから選択できます。
    27. [保存] をクリックします。
    28. [テスト] を選択します。
      [アクションのテスト] ダイアログが表示されます。
    29. 次のテスト値を入力します。

      アクションをテストするには、admin ロールを選択します。

      入力
      ロール admin
    30. [テストを実行] を選択します。
      指定されたテスト値を使用してアクションが実行されます。
    31. 次を選択します:テストの実行が終了しました。(Your test has finished running.) アクションの実行の詳細を表示します。
      アクション実行の詳細が表示されます。
    32. アクション出力データのランタイム値を確認します。

      users アレイに 3 つのユーザー名がリストされている実行の詳細ページ。

      JSON 形式で出力データが表示されます。
      この例では、users アレイには admin ロールを持つ 3 人のユーザーが含まれています。
      {
          "users": [
              "System Administrator",
              "Rob Phillips",
              "Fred Luddy"
          ]
      }
      

    タスクの結果

    特定のロールのユーザーをルックアップし、それらのユーザーをユーザー名文字列のアレイに変換するカスタムアクションが作成されました。

    次のタスク

    独自のロジックを使用できるようにこのアクションをカスタマイズします。