4 octobre 2023

eDSN - Erreur : la table d'historique contrat doit être initialisée

Suite à une recopie de données entre bases, eDSN ne démarre plus correctement. Dans les logs on trouve le message : 
Erreur : la table d'historique contrat doit être initialisée si la gestion intégrée des blocs 41 est activée (com.soprahr.edsn.historiquecontrat.cfg)

Pour recharger cette table il faut lancer la commande dsn:init-historique-contrat ou dsn:init-historique-contrat-ext... mais celle ci sera introuvable !? Ceci tient au fait que eDSN est en erreur ...

Les étapes consistent en effet à :
  1. Inhiber la gestion du bloc 41 avec la table historiquecontrat
  2. Redémarrer eDSN
  3. Recharger la table
  4. Réactiver la gestion du bloc 41 avec la table historiquecontrat
  5. Redémarrer eDSN
 
Pour inhiber (respectivement activer) l'option, éditer le fichier edsn-home/conf/com.soprahr.edsn.historiquecontrat.cfg et passer le paramètre enable à false (respectivement true)

Après redémarrage lancer la commande dsn:init-historique-contrat (la version dsn:init-historique-contrat-ext permet de paralléliser) en précisant les périodes de début/fin (respecter la profondeur de rappel en paie)

Dans mon cas la fermeture du VPN a interrompu un premier lancement. La table est donc partiellement alimentée. Il faut donc recommencer et répondre à la question « confirmez-vous … » en avant plan ...

Mais le traitement étant long, il vaut mieux le lancer en arrière-plan pour ne pas subir de nouvelle interruption.

Pour cela on crée un script lanceur à déclencher avec nohup &.  Le "echo oui" est chargé de répondre à la demande de confirmation ... !


init-histo.ksh 
{ echo "dsn:init-historique-contrat-ext -t 5 202208 202308" ; echo oui; } | /hr9dev/edsn-9.1.3/bin/client


nohup ksh init-histo.ksh > init-histo.log 2>&1 &
[1] 25100788


cat init-histo.log 

Espace DSN (9.1.3) - Environnement de Production : non
Apache Karaf Runtime (4.3.9)
...
edsn> dsn:init-historique-contrat-ext -t 5 202208 202308

L'historique des contrats est deja alimente. Confirmez-vous sa reinitialisation (les donnees actuelles seront perdues) ? (oui/non)

oui
Traitement de la periode 202208
Traitement de la periode 202209
Traitement de la periode 202210
Traitement de la periode 202211
Traitement de la periode 202212
Traitement de la periode 202301
Traitement de la periode 202302
Traitement de la periode 202303
Traitement de la periode 202304
Traitement de la periode 202305
Traitement de la periode 202306

Traitement de la periode 202307
Traitement de la periode 202308
Initialisation terminee
edsn>


Puis mise à jour de com.soprahr.edsn.historiquecontrat.cfg (enable = true) et redémarrage de eDSN.

Aucun commentaire:

Enregistrer un commentaire