:MODIFY_STATE

Instruction de script : Modifie le code retour ou le texte du statut d'un job une fois ce dernier terminé.

Syntaxe

:MODIFY_STATE Property=Value

Syntaxe

Description / format

Property

Propriété pour la fin du job.
Format : Nom AE ou variable de script

Valeurs autorisées :

  • RETCODE : code retour du job
  • STATUS_TEXT : texte de statut du job

Value

Nouvelle valeur assignée à la propriété du job.
Format: littéral de script, variable de script, nom AE, nombre sans guillemet ou fonction de script

Pour RETCODE : Valeur numérique.
Pour "STATUS_TEXT" : Chaîne de caractères alphanumérique, 32 caractères maximum. 

:MODIFY_STATE permet de modifier ultérieurement le code retour ou le texte du statut d'un job. Cette instruction de script n'est donc autorisée que dans la page Post-traitement (voir Pages Traitement).

Vous pouvez utiliser cette instruction de script pour attribuer ultérieurement le statut ENDED_NOT_OK à un job qui s'est techniquement bien terminé, par exemple. Cela peut s'avérer nécessaire pour un job pour lequel une erreur peut être détectée uniquement par l'analyse de son rapport.
Voir : PREP_PROCESS_REPORT.

La modification du code retour influence le statut du job. Le statut résulte du code retour maximal qui a été défini pour une fin normale du job (onglet Exécution). Si le code retour modifié est supérieur au code retour maximal spécifié, le statut ENDED_NOT_OK est défini. Si le code retour modifié est inférieur ou égal au code retour maximal spécifié, le job se termine avec le statut ENDED_OK.

Vous pouvez aussi spécifier un texte de statut distinct pour la fin du job. Il remplace alors le texte que le messager de job a affiché dans la queue.

Les modifications sont journalisées dans l'onglet Post-traitement du rapport du job. Les valeurs modifiées sont aussi affichées dans la fenêtre des détails du job.

Exemple

Dans l'exemple suivant, un job qui s'exécute sous Windows doit copier un fichier qui n'existe pas. Normalement, le job devrait se terminer avec le code retour "0". Seul le rapport de job permettrait de voir que le fichier à copier n'a pas été trouvé.

Le rapport du job est maintenant analysé dans le post traitement du job. L'absence du fichier à copier est détectée et le code retour est modifié. Finalement, le job est interrompu.

:SET &HND# = PREP_PROCESS_REPORT(,,,"*cannot find the file*")
:
PROCESS &HND#
:  
MODIFY_STATE STATUS_TEXT="Files not found"
:  
MODIFY_STATE RETCODE=50
:
ENDPROCESS

Voir aussi :

voiraussi

Traitement des erreurs dans les scripts

Notification (CALL)

Codes retour utilisateur des objets exécutables

Codes retour système des objets exécutables