Code SQL et code JavaScript sql-code-and-javascript-code
Code SQL sql-code
Une activité de type Code SQL exécute un script SQL. Le script est un template JST.
-
Script
La zone centrale de l’éditeur contient le script à exécuter. Ce script est un template JST et peut donc être paramétré en fonction du contexte du workflow.
-
Traiter les erreurs
Pour plus d’informations, consultez la section Erreurs de traitement.
Remarques importantes important-notes
À partir de la version 8.9.1, les activités de workflow Code SQL et Gestion des données SQL ont été améliorées afin de mieux protéger les bases de données PostgreSQL et de garantir le bon fonctionnement de vos workflows lorsque le code SQL personnalisé est exécuté à partir de Campaign. Voici quelques bonnes pratiques à suivre en cas d’erreur.
Les options sont disponibles sous Administration > Plateforme > Options. Deux solutions sont disponibles en cas d’erreur :
Solution 1
Définissez XtkSecurity_FeatureFlag_SqlSensitive sur 0. La fonction est désactivée.
Solution 2
Modifiez XtkSecurity_SqlSensitive_Methods. Vous pouvez remplacer <method name="TRUNCATE" action="block"/> par <method name="TRUNCATE" action="warn"/>
D’autres méthodes telles que VACUUM FULL, REINDEX, CREATE INDEX, DROP INDEX sont également bloquées par défaut afin de protéger l’intégrité de la base de données. Soyez prudent si vous souhaitez les définir sur Avertissement plutôt que sur Bloc. Ces méthodes peuvent avoir un impact important sur les performances de la base de données lors de l’exécution.
Code JavaScript et code JavaScript avancé javascript-code
Les activités Code JavaScript et Code JavaScript avancé exécutent un script JavaScript dans le cadre d’un workflow. Pour plus d’informations sur les scripts, reportez-vous aux sections suivantes :
Délai d‘exécution exec-delay
À compter de la version 20.2, un délai d‘exécution a été ajouté aux activités code JavaScript et code JavaScript avancé. Par défaut, la phase d’exécution ne peut pas dépasser 1 heure. Après ce délai, le processus est abandonné avec un message d‘erreur et l‘échec de l’exécution.
Vous pouvez modifier ce délai dans le champ Arrêter l’exécution après, disponible dans ces activités.
Pour ignorer cette limite, vous devez définir la valeur sur 0.
Code JavaScript js-code-desc
-
Script : la zone centrale de l’éditeur contient le script à exécuter.
-
Traiter les erreurs : voir la section Traitement des erreurs.
Code JavaScript avancé adv-js-code-desc
- Premier appel : la première zone de l’éditeur contient le script à exécuter lors du premier appel.
- Appels suivants : la deuxième zone de l’éditeur contient le script à exécuter lors des appels suivants.
- Transitions : vous pouvez définir plusieurs transitions en sortie de l’activité.
- Planificateur: l’onglet Planning permet de planifier le déclenchement de l’activité.
JavaScript avancé est une tâche persistante et est régulièrement rappelé s’il n’a pas été marqué comme terminé. Pour terminer la tâche et empêcher les rappels ultérieurs, vous devez utiliser la méthode task.setCompleted() dans la section Appels suivants :
task.postEvent(task.transitionByName("ok")); // to transition to Ok branch
task.setCompleted();
return 0;