Valeurs d'exit 
Chaque script retourne une valeur d'exit indiquant si l'étape doit être l'étape suivante pour le SFC. Ces valeurs de retour peuvent être de simples valeurs true ou false, ou des valeurs numériques pour indiquer l'importance.
Dans le cas le plus simple, les scripts retournent true ou false. Cela fonctionne bien lorsque les décisions s'excluent mutuellement (deux étapes ne peuvent pas être vraies en même temps). Si plusieurs étapes retournent une valeur true, tous les choix concernant l'étape suivante s'affichent pour l'agent de production. L'agent doit alors prendre une décision parmi les choix affichés.
Pour simplifier la configuration des scripts, il est possible de retourner une valeur numérique (une priorité) pour aider l'agent de production à choisir l'étape par laquelle la gamme doit passer. La valeur numérique est affichée à l'écran et permet à l'agent de décider qu'un chemin d'accès sera prioritaire par rapport à d'autres chemins d'accès valides (valeur True). Une valeur numérique permet à l'exemple ci-dessus de retourner une priorité élevée pour le chemin d'accès SCRAP (défaillance - 3+ transfert) :
Retour |
Étape suivante |
Script |
|---|---|---|
False |
SHIP |
|
True |
PMR (défaillance) |
|
600 |
SCRAP (défaillance - 3+ transfert) |
|
False |
ASSEMBLE (composant manquant) |
|
L'utilisation de valeurs numériques simplifie la logique du script PMR ROUTING (défaillance) car LOOP_COUNT n'est plus pertinent pour cette ligne de code :
if (NC_CODE!=null) exit(true);
Le retour numérique permet également de maintenir les scripts indépendants les uns des autres. Par exemple, si le client remplace la valeur de la limite de boucle par 4 dans le script SCRAP (défaillance - 3+ transfert), aucune modification des autres scripts n'est nécessaire.
Ces valeurs de retour sont considérées comme des priorités autorisant certains scripts d'étape à retourner des valeurs vrai/faux et d'autres à retourner des nombres :
Retour |
Priorité |
|---|---|
True |
500 |
False |
0 |
(Null) |
499 |
(No script) |
499 |
Note
Les étapes de retour définies avec Toute opération ou Opération précédente peuvent avoir plusieurs étapes suivantes. Cela signifie que le même script peut être exécuté plusieurs fois, une fois pour chacune des étapes de retour possibles. Les scripts pour les étapes suivantes ne sont pas exécutés dans un ordre spécifique.
Si une erreur est détectée lors de l'exécution d'un script, le moteur de script déclenche une exception. Dans ce cas, la transaction effectue un rollback (y compris de la clôture elle-même). Le rollback a lieu également s'il y a d'autres exceptions déclenchées par le script ou des méthodes qui sont appelées. Si vous ne voulez pas que le processus échoue à cause d'erreurs de script, vous devez intercepter les exceptions dans votre script. Notez que les erreurs de syntaxe de script ne peuvent pas être interceptées de cette manière.