Dans cet article


Offres d'emploi

Tags

Audit de données : vérifier l’absence de doublons (ONB identiques) dans chaque table P5

Audit de données : vérifier l’absence de doublons (ONB identiques) dans chaque table P5

Description

Dans certains cas, lorsque l’on n’a pas positionné d’offset pour les bases de données Planisware par exemple, il peut arriver que l’on constate la présence d’objets ayant le même ONB dans une même table Planisware. Ceci est une grave corruption du modèle de données car Planisware ne sera pas en mesure de charger les 2 objets. Il en chargera un seul sur les 2 et la plupart du temps remontera une erreur indiquant que l’objet xxxx possèdant le même ONB que l’objet yyyy n’a pu être chargé.

Requêtes SQL

Il est possible de vérifier la présence de tels doublons par la méthode suivante.

Pour commencer il faut récupérer la liste des tables Planisware possédant une colonne « ONB ». (Cf. Requête SQL pour avoir toutes les tables de la BDD avec possédant un champ « ONB »).

Ensuite récupérer cette liste de tables dans Excel pour générer une requête globale du type :

(SELECT ONB, Count(*),'TABLE_PLW_1' FROM TABLE_PLW_1 
GROUP BY ONB HAVING Count(*) > 1) UNION
(SELECT ONB, Count(*),'TABLE_PLW_2' FROM TABLE_PLW_2 
GROUP BY ONB HAVING Count(*) > 1) UNION
...
(SELECT ONB, Count(*),'TABLE_PLW_N' FROM TABLE_PLW_N 
GROUP BY ONB HAVING Count(*) > 1) ;

Résultat obtenu :

Résultat de la requête permettant de remonter les doublons.

 

Ainsi ici on constate que l’on a des doublons dans les tables suivantes :

  • COMMON_DATASET
  • TASK

Dans les 2 tables il y a 2 objets qui possèdent le même ONB : le champ count(*) est égal à 2 pour chacune des tables.

Dans ce cas on a remonté les doublons présents dans une même table ce qui est le cas le plus critique pour Planisware.

 

 

L'équipe AXOPEN

Voir aussi les articles suivants

Description Il est parfois utile de générer la liste des tables de la base de données Planisware contenant une colonne ONB. De plus, la liste de ces tables n’est pas fixe car elle va dépendre de la version du noyau Planisware, de la version de Processes et du paramétrage spécifique implémenté. Requête SQL Voici une requête SQL à exécuter en étant connecté au schéma de la BDD et renvoyant la liste des tables Planisware :
Lire l'article

Fonctionnement des numéros internes (ONB) sous Planisware
Description Dans une application développée sous Planisware les objets d’environnement (formules nommées, alertes, champs supplémentaires…) et les objets de planification (tâches, affectations…) possèdent tous, à quelques exceptions près, un identifiant interne appelé ONB. Cet ONB permet d’identifier de manière unique chacun des objets de l’application. Le but de cet article est de préciser le fonctionnement de ces numéros internes et en particulier la manière dont ils sont générés afin d’éviter tout doublon.
Lire l'article

Scripts OJS : utilisation des paramètres P5

Scripts OJS : utilisation des paramètres P5

Le 26/09/2012 par Thibault Gonin

Introduction : Il est parfois nécessaire d’utiliser des paramètres OPX2 dans du code OJS. Par exemple pour modifier temporairement la durée du timeout de l’applet JAVA pour réaliser un traitement long. Il s’agit dans cet exemple du paramètre *APPLET-TIMEOUT*. Tableau des paramètres OPX2 Problème : Quelle est la syntaxe à utiliser pour appeler ou modifier les paramètres OPX2 ? Solution : Il suffit de transformer l’ID du paramètre selon la méthode suivante :
Lire l'article