Dans cet article


Offres d'emploi

Tags

Planisware : comment utiliser le script de suppression des transactions inutiles ?

Planisware : comment utiliser le script de suppression des transactions inutiles ?

Introduction

Planisware génère des transactions liées à l’utilisation du progiciel (créations, modifications, suppressions, calculs etc..). Ces transactions permettant notamment de synchroniser les données modifiées d’un processus Planisware aux autres. Elles permettent aussi une traçabilité technique des actions réalisées dans l’application. Cependant pour limiter la volumétrie de la table des transactions il est nécessaire de supprimer les transactions dites « inutiles », c’est à dire toutes celles qui concernent pas la dernière modification d’un objet Planisware.

Pour réaliser cette opération de maintenance de la base de données Planisware il est nécessaire de purger ces transactions en base de données. Pour ce faire, Planisware a mis à disposition une fonctionnalité accessible en client lourd permettant de générer un script SQL adapté au modèle de données.

Générer le script

L’outil de génération du script SQL est accessible depuis le client lourd Planisware. Une fois connecté avec un utilisateur administrateur Planisware, il faut passer en « Mode administrateur ».

Aller ensuite dans  » Fichier > Administration > Script pour effacer les transactions inutiles…  » :

Le client lourd demande alors de préciser le chemin et le nom sous lequel le script SQL doit être enregistré.

Un message apparaît confirmant la génération du script de suppression des transactions inutiles en local sur votre poste.

Cliquer ensuite sur « OK ».

Le script SQL généré devra donc être exécuté avec en SQL sur le schéma de base de donnée hébergeant les données de l’application sous Planisware. Il est vivement conseillé d’arrêter tous les services Planisware pour réaliser la purge des transactions inutiles en base via le script ainsi généré.

Optimisation du script

Si le script généré est bien exhaustif dans les traitements qu’il réalise son code peut parfois poser de sérieux problèmes de performances sur des bases de données volumineuses (avec beaucoup d’activité) et/ou qui ne sont pas purgées assez régulièrement. Pour connaître les pistes d’optimisation de ce script n’hésitez pas à solliciter nos consultants.

Remarques

Ce script est dépendant du modèle de données de l’application concernée et ne peut donc pas être générique et commun à toutes les applications Planisware. Il doit donc être généré pour chaque application mais également pour chaque nouvelle version applicative qui impacte le modèle de données.

L'équipe AXOPEN

Voir aussi les articles suivants

Suppression d’objets sous P5

Suppression d’objets sous P5

Le 22/03/2012 par Thibault Gonin

Rappels d’architecture : L’architecture du progiciel Planisware 5 repose sur une base de données contenant des tables indépendantes (une par classe d’objet). Les relations entre objets sont gérées exclusivement par la couche logicielle (il n’y a pas de relations directement implémentées dans le SGBD). Lors de la suppression d’un objet complexe (lié à d’autres objets) c’est le noyau logiciel qui va, dans la plupart des cas, vérifier que l’objet que l’on veut supprimer n’est pas encore lié à d’autres objets de l’application.
Lire l'article

Planisware : reproduire le comportement du bouton « Déconnexion » via OJS
Introduction Cet article explique comment reproduire en script OJS l’action de cliquer sur le lien « Déconnexion » de la page d’accueil Planisware Processes. Cette fonctionnalité peut être utile dans certains cas marginaux où l’on souhaite forcer le client léger à se déconnecter. Implémentation Pour implémenter cette fonctionnalité en OJS il suffit d’utiliser une commande appelant du code LISP. La commande est la suivante : "(report-builder::ottp-tool-activate :CLOSE report-builder::*current-applet* xt::*current-widget*)".lispeval();
Lire l'article

Planisware 5 : gestion des timeouts lors des traitements longs en client léger
Description du problème Même s'il est en général déconseillé de lancer des traitements trop longs directement en client léger il peut arriver que certaines actions longues (plusieurs minutes) soient quand même réalisées en client léger. Dans certains cas le traitement peut échouer à cause des timeouts. Piste de résolution n°1 : améliorer les performance du traitement C'est la première piste à creuser lorsqu'un traitement est long. Il arrive fréquemment que le traitement réalisé ne soit pas optimisé.
Lire l'article