Paginer : définir un index de page maximum

Cette carte de fonction est uniquement disponible dans Workflows Connector Builder.

Lorsque vous travaillez avec la carte de fonction Paginer, il est important de contrôler le nombre de fois que la fonction itère. Workflows Okta limite cette fonction à 5 000 itérations. Il est donc important de vous assurer que vous ne dépassez pas ce nombre lors du test des flux.

Cet exemple montre comment définir un index max_page_index de 10, puis interrompre la pagination une fois cet index atteint.

À l'aide de la carte d'objet Construire, créez un objet avec trois paires clé-valeur. Par exemple, vos clés pourraient être les suivantes :

  • page_index : nombre actuel d'itérations.

  • max_page_index : nombre maximum de fois que le flux d'aide doit itérer.

  • break : valeur que la fonction vérifie pour arrêter la boucle.

Vous pouvez ensuite transmettre l'objet résultant dans la carte de fonction Paginer  :

{
  "page_index": 0,
  "max_page_index": 10,
  "break": false
}

Flux d'aide

La fonction Paginer nécessite un flux d'aide. Les entrées définies dans le flux d'aide doivent correspondre aux clés que vous avez définies dans l'objetde pagination :

  • index_page

  • max_page_index

  • pause

Lorsque le flux d'aide s'exécute, vous devez gérer les valeurs transmises dans le flux. L'objectif est de suivre le nombre d'itérations effectuées par la fonction de pagination. Vous devez donc augmenter la valeur page_index à chaque itération. Vous pouvez utiliser pour cela la carte de fonction de nombre Ajouter.

Vous reconstruirez ensuite le nouvel objet de pagination afin qu'il puisse être renvoyé à la carte de fonction Paginer.

Les valeurs de l'objet qui en résulte sont désormais les suivantes

{
  "page_index": 1,
  "max_page_index": 10,
  "break": false
}

Lorsque le flux d'aide s'exécute, vous devez gérer les valeurs transmises dans le flux. Pour arrêter l'itération de la fonction de pagination après que page_index ait atteint 10 (pour correspondre à max_page_index), vous devez supprimer la rupture de l'objet :

  1. Ajoutez une fonction de branchement If/ElseIf dans le flux d'aide. Pour les champs Comparer, saisissez ce que vous souhaitez vérifier si new_index est égal à max_page_index.

    Cliquez sur Enregistrer.

  2. À la ligne Exécuter lorsque FAUX, vous pouvez faire glisser l'objet mis à jour vers une carte Affecter. L'objet quitte la carte If/ElseIf sans modification.

  3. À la ligne Exécuter lorsque TRUE (qui est déclenchée lorsque page_index est égal à max_page_index), ajoutez la fonction d'objet Désactiver pour supprimer la clé break. Lorsque l'objet de pagination qui en résulte renvoie vers le flux parent, la fonction Paginer vérifie le chemin de la clé break. Si ce chemin n'est pas trouvé dans l'objetmis à jour, la fonction se termine en interrompant la pagination.

  4. Cliquez sur Créer des sorties et faites glisser le champ Sortie vers la carte de contrôle du flux Return.

  5. Faites glisser l'objet de sortie de chaque ligne vers le champ Sorties qui correspond au sortie du test vrai ou faux.

Lorsque vous exécutez le flux parent, l'objet final ressemble à ce qui suit :

{
  "page_index": 10,
  "max_page_index": 10
}