Activité Appeler une procédure

A l'exécution, l'activité Appeler une procédure exécute une procédure mémorisée dans une base de données. La procédure mémorisée doit être écrite et installée dans la base de données pour que vous puissiez terminer la configuration de l'activité Appeler une procédure dans Studio.

Remarque : La surcharge des noms de fonction pour les procédures mémorisées dans la base de données Informix n'est pas prise en charge. Les procédures mémorisées ne peuvent pas avoir le même nom dans Informix y compris si leurs signatures sont uniques.

Ajouter une activité Appeler une procédure à l'orchestration

  1. Créez ou ouvrez une orchestration. Une représentation graphique de l'orchestration apparaît.
  2. Sélectionnez l'onglet Activités et développez le dossier Base de données.
  3. Déplacez l'activité Appeler une procédure sur l'orchestration.
  4. Sélectionnez l'activité Appeler une procédure.

Créer, sélectionner ou éditer un noeud final de base de données

  1. Cliquez sur la tâche Sélectionner le noeud final dans la liste de contrôle et sélectionnez l'une des actions suivantes :
    • Sélectionnez un noeud final existant :
      1. Sélectionnez Parcourir. L'Explorateur de projet s'ouvre.
      2. Sélectionnez un noeud final existant et cliquez sur OK. Passez à la procédure d'activité Configurer une activité Appeler une procédure.
    • Sélectionnez un noeud final existant et éditez-le.
      1. Sélectionnez Parcourir. L'Explorateur de projet s'ouvre.
      2. Sélectionnez un noeud final existant et cliquez sur OK.
      3. Cliquez sur Editer. Le panneau Editer un noeud final apparaît.
    • Créez un noeud final.
      1. Sélectionnez Nouveau. Le panneau Créer un noeud final s'ouvre.
  2. Créez ou éditez un noeud final de base de données

Configurer une activité Appeler une procédure

  1. Cliquez sur Procédure mémorisée dans la Liste de contrôle. Le panneau Procédure mémorisée s'ouvre.
  2. Cliquez sur Parcourir.... La boîte de dialogue Parcourir les procédures mémorisées apparaît.
  3. Pour afficher toutes les procédures mémorisées de la base de données et pas seulement celles visibles avec le schéma d'utilisateur sélectionné, cliquez sur Effacer.
  4. Sélectionnez une Procédure mémorisée dans la liste.
  5. Cliquez sur OK. Les informations de paramètre pour la procédure mémorisée sélectionnée s'affichent dans le panneau Procédure stockée.
    Remarque : La suppression de paramètres d'appel de procédure au milieu de la liste des paramètres n'est pas prise en charge. Si vous désirez spécifier des paramètres dans un ordre différent de celui de la liste, vous pouvez créer une procédure mémorisée d'encapsuleur (par exemple, WrapperStoredProcedure1) sans coupure dans les paramètres (c'est-à-dire, contenant le sous-ensemble exact de paramètres requis), puis indiquer à cette nouvelle procédure mémorisée d'appeler la procédure mémorisée sous-jacente (par exemple, BackendStoredProcedure1) à l'aide du masque @paramètre = valeur pris en charge par Microsoft SQL Server. Ensuite, vous pouvez utiliser la procédure stockée d'encapsuleur via l'orchestration, avec uniquement les paramètres requis. Vous pouvez également indiquer dans Studio l'ensemble complet de paramètres sans omission, ainsi que les valeurs par défaut, pour la procédure stockée sous-jacente d'origine (par exemple, BackendStoredProcedure1). Vous remarquerez que puisque la suppression des paramètres d'appel de procédures stockées à partir d'une liste de paramètres n'est pas prise en charge, les paramètres figurant à la fin d'une liste de paramètres peuvent être supprimés.
  6. Pour modifier le codage de caractère en cours (obtenu initialement à partir du noeud final de base de données), sélectionnez une autre option de codage dans la liste Codage. Modifie le codage des caractères par défaut de tous les paramètres d'entrée de la procédure mémorisée.
  7. Par défaut, tous les paramètres d'entrée et de sortie (IN, INOUT, RETURN, OUT) de la procédure mémorisée sont sélectionnés. Il n'est pas nécessaire d'inclure tous les paramètres d'entrée et de sortie définis pour une procédure mémorisée. La désélection de la case Utiliser d'un paramètre de sortie (INOUT, RETURN, OUT) signifie que le paramètre de sortie n'est pas disponible dans la tâche Mapper les entrées. La désélection de la case Utiliser d'un paramètre d'entrée (IN, INOUT) signifie que le paramètre d'entrée n'est pas disponible dans la tâche Mapper les entrées. Désélectionnez la case Utiliser uniquement pour les paramètres d'entrée dont vous ne devez pas spécifier les valeurs d'entrée en phase d'exécution. Certains paramètres d'entrée de la procédure mémorisée peuvent avoir des valeurs par défaut.

    La plupart des bases de données renvoient uniquement un paramètre de retour unique. Pour ces bases de données, si la case Utiliser est cochée pour le paramètre de retour, la valeur de retour est renvoyée dans le noeud results/result/RETURN_VALUE unique, dans le panneau Depuis l'activité de la tâche Mapper les sorties. La base de données Informix, toutefois, prend en charge plusieurs paramètres de retour et, pour la base de données Informix, les paramètres de retour sont renvoyés dans le noeud results/result/result/resultsSets/any répété. Y compris si un paramètre est renvoyé par la procédure mémorisée, le paramètre de retour est renvoyé dans le noeud results/result/result/resultsSets/any. Utilisez la fonction CopyOf dans la mappe pour copier le contenu du noeud result (y compris le noeud enfant appelé resultSet) dans une variable. Pour que la fonction CopyOf copie correctement les valeurs des noeuds source vers les noeuds de destination, le schéma XML de la variable de destination doit correspondre au schéma XML du noeud source. Pour plus d'informations, voir Fonction CopyOf.

  8. Cliquez sur l'en-tête de la colonne pour trier les lignes par valeur de colonne. Par exemple, pour trier les lignes par nom de colonne, cliquez dans l'en-tête Nom de colonne. Une flèche apparaît à droite du nom de l'en-tête de colonne. Une flèche vers le haut indique que la colonne est triée par ordre alphabétique, de a à z. Une flèche vers le bas indique que la colonne est triée par ordre alphabétique inversé, de z à a. Cliquez sur la flèche pour inverser l'ordre alphabétique.
  9. Si nécessaire, modifiez les valeurs de Type de données, Codage ou NULL admis pour chaque paramètre d'entrée de requête. Cliquez sur la zone pour effectuer une nouvelle sélection :
    • Type de données - Par défaut, il s'agit du type de données du paramètre. Sélectionnez un type de données différent pour le paramètre en cliquant dans la cellule Type de données et en sélectionnant un autre Type de données dans la liste de la cellule correspondante. Vous devez modifier tous les types de données UNSUPPORTED.
      Remarque : (pour les types de données MONEY et XMLTYPE). Pour le type de données XMLTYPE dans une base de données Oracle et les types de données MONEY dans une base de données SQL Server, Studio n'associe pas automatiquement le type de données correct, vous devez donc sélectionner manuellement le type de données approprié.
    • Codage - Par défaut, codage par défaut en cours, défini au niveau de la base de données ou de la table. Si le codage requis pour le paramètre est différent du codage par défaut en cours, sélectionnez un codage différent en cliquant dans la cellule Codage et en sélectionnant un autre Codage dans la liste.
    • Taille - Taille de la colonne définie dans la table. Cette taille est extraite de la table de base de données et n'est pas configurable.
  10. Cliquez sur Réinitialiser pour réinitialiser toutes les propriétés de paramètre à leurs valeurs par défaut. Vous sélectionnez également l'option Use pour tous les paramètres.
  11. Configurez les Règles de distribution.
    Remarque : Si vous sélectionnez l'option Une fois exactement dans la tâche Règles de distribution, vous devez créer des tables de contrôle qui sont utilisées par le dispositif d'intégration en phase d'exécution. Vous créez les tables de contrôle près avoir publié l'orchestration depuis Studio vers le dispositif d'intégration. Vous créez les tables de contrôle à l'aide de la console de gestion Web avant de déployer le projet.
    Remarque : Si vous sélectionnez l'option Une fois exactement, vous devez activer la persistance. Pour plus d'informations, voir Activation de la persistance.
  12. Configurez les Options de nouvelle tentative.
 

Mappez l'entrée de l'activité

  1. Sélectionnez la tâche Mapper les entrées dans la Liste de contrôle. Les paramètres d'entrée de l'activité sont affichés sous l'élément appels, dans le panneau Vers l'activité. Les paramètres d'entrée affichés dans le panneau Vers l'activité correspondent aux paramètres IN et INOUT que vous avez sélectionnés dans la tâche Procédure mémorisée. Si la case Traiter par lots plusieurs lignes par message est cochée dans les Règles de distribution, l'icône d'occurrences multiples apparaît en regard de l'élément call.
  2. Mappez tous les paramètres d'entrée affichés. Voir Création d'une mappe pour accéder à des instructions générales sur le mappage.

Mappez la sortie de l'activité

  1. Sélectionnez la tâche Mapper les sorties dans la Liste de contrôle. Les paramètres de sortie de l'activité sont affichés sous l'élément results dans le panneau Depuis l'activité. Les paramètres de sortie affichés dans le panneau Depuis l'activité correspondent aux paramètres OUT, RETURN et INOUT que vous avez sélectionnés dans la tâche Procédure mémorisée.

    Si la case Traiter par lots plusieurs lignes par message est cochée dans les Règles de distribution, l'icône d'occurrences multiples apparaît en regard de l'élément de résultat.

    Un noeud répété, appelé resultSet apparaît dans le panneau Depuis l'activité de l'activité Appeler une procédure, y compris si la procédure mémorisée ne comporte pas de paramètre de retour. A l'exécution, si la procédure mémorisée démarrée depuis l'activité renvoie un ensemble de résultats, ce dernier est renvoyé depuis l'activité dans le noeud resultSet. Par exemple, si la procédure mémorisée démarre une instruction SELECT, l'ensemble de résultats de cette instruction est renvoyé dans le noeud resultSet. Utilisez la fonction CopyOf dans la mappe pour copier le contenu du noeud result (y compris le noeud enfant appelé resultSet) dans une variable.
    Avertissement : Pour que la fonction CopyOf copie correctement les valeurs des noeuds source vers les noeuds de destination, le schéma XML de la variable de destination doit correspondre au schéma XML du noeud source. Pour plus d'informations, voir Fonction CopyOf.
  2. Mappez les paramètres de sortie obligatoires sur des variables. Voir Création d'une mappe pour des instructions générales sur le mappage. Il n'est pas obligatoire de mapper les paramètres de sortie pour cette activité.