24 juillet 2012

BOP-BBAO0026-Un job est déjà en cours d'exécution avec le même identifiant

Depuis HRv7, le programme BOP contrôle qu'au démarrage une même chaîne n'est pas déjà en cours d'exécution.

Ces contrôles sont à la source des messages :
BOP-BBAO0026-Un job est déjà en cours d'exécution avec le même identifiant (BOP ou BI0)

BI0-BBAO0027 Un job est déjà en cours d'exécution avec le même identifiant &1 - traitement forcé
BI0-BBAO0028-Job vérouillé Identifiant &1

Les verrous

  1. L'information ZO7L sert au verrouillage d'un cycle (et ZO7U : Libération d'un cycle). La table PG70 permet de mémoriser la présence d'un verrou.
  2. En début de cycle, lors de la soumission du traitement, un contrôle est effectué sur la table PG70 pour le numero de travail soumis. Si aucun verrou n'est présent, alors la soumission est lancée et un verrou est posé.
  3. En fin de cycle, si la phase s'est exécutée sans anomalie (code retour < 05), le verrou est levé.

A noter :
  • En standard les NRA les K22 et en HRv7.0 les K2W posent un verrou. Les chaînes NRB et NRD les lèvent.
  • Le contrôle peut bloquer un traitement si un verrou n'a pas été levé. Si vous utilisez un cycle assurez vous donc d'avoir demandé la libération du verrou dans la demande NRB/NRD (onglet "Libération du cycle") et que les deux demandes ont bien le même numéro de travail,
  • Pour ne pas être bloquée, une soumission de NRA isolée déclenche un traitement BNA AA87L1NA qui passe la ZO7L-TEFORC à 1.
  • Organisez les numéros de travail de vos demandes Opération. Si vous ne vous en sortez pas, mécanisez une purge régulière de la PG70 !

Les travaux en cours

Ce contrôle bloque car un dossier de travail ZO est "en cours" depuis moins de 24 heures.
  • Fermez le en alimentant sa date de fin dans ZO2C par update SQL ou via le lien suivant :

(le javascript associé en profite pour alimenter dans la ZO2C-ZOSOUM la date et le code de l'utilisateur ayant forcé l'horodatage de fin du travail).
 
  • Sinon supprimez le dossier de travail ZO concerné !
  • Ou (si le traitement est lancé par un enchaînement) mettez le IDFJOB de la demande NRC à blanc (ou zéro) : BOP va alors l'incrémenter jusqu'à en trouver un libre  !