Professional Documents
Culture Documents
mtiers lentreprise.
Rapport de Stage de Fin dtude.
Spcialit mathmatiques
Option Ingnierie dAide la Dcision.
Encadreur cole :
Encadreur entreprise :
Maria Malek
Rodolphe Ambroise & Nicolas Provost
Remerciements.
Je tiens tout d'abord remercier l'ensemble de l'quipe pdagogique de l'EISTI pour ces cinq annes
de formation durant lesquelles j'ai normment appris et vcu d'excellents moments.
J'adresse tout particulirement ma gratitude Maria Malek, Herv Demillevilles et Rachid Chelouah,
enseignants l'EISTI pour m'avoir permis de dcouvrir le monde du dcisionnel, datamining ainsi que
la recherche oprationnelle, domaines dans lesquels je nourris vivement l'espoir dy travailler et dy
voluer tout au long de ma carrire.
Je remercie notamment Rodolphe Ambroise, pour mavoir accueillie au sein de son quipe et de
mavoir fait confiance, afin de me permettre de vivre une exprience riche et passionnante et
dapprhender le mtier de prestataire de service en business intelligence dans le secteur
pharmaceutique.
Je tiens remercier particulirement Nicolas Provost pour tous les efforts quil a fourni, tant au
niveau thorique que pratique, me permettant davancer tout au long du stage.
Mon exprience en tant que membre dune TMA dcisionnelle m'a donn l'opportunit de travailler
au sein d'une quipe dynamique et motive, je saisi ainsi loccasion pour remercier tous les membres
de cette dernire : Amandine Ingignoli, Benot Domas, Denis Baudon, Julien Legoupil, Abdessemia
Hassouni et Isabelle Palard pour leur collaboration, leurs conseils et leur aide lorsque jen avais
besoin.
AYACHI D.
Page 2
Sommaire
REMERCIEMENTS.
INTRODUCTION GENERALE.
2.1
UN ACTEUR MONDIAL DEPUIS 1969
2.1.1
Prsentation gnrale
2.1.2
Le mtier de LOGICA
2.1.2.1 La prestation de services informatiques
2.1.2.2 Le gage de qualit
2.1.3
Dimensions humaines et managriales
2.1.3.1 Suivi de l'avancement
2.1.3.2 Le Staff Manager, le Staff Manag
2.1.4
L'organisation interne
2.1.4.1
LOGICA France
2.1.4.2
La BUSINESS UNIT BDM-BI
7
7
8
8
9
9
9
9
10
10
11
2.2
UNE TMA DECISIONNELLE LOGICA POUR SANOFI FRANCE
2.2.1
SANOFI France
2.2.2
Le projet TMA Paris/Centre de service de la Gironde
2.2.2.1
Prsentation de lquipe
2.2.2.2
Principaux interlocuteurs
2.2.2.3
Un fil dAriane pour le suivi du SI
2.2.2.4
Rle et objectifs du projet TMA dcisionnelle
12
12
13
13
13
13
16
17
3.1
THEORIE ET ENJEUX DE LA BI
3.1.1 La prise de dcision en entreprise
3.1.2
Concepts de base de la BI
3.1.2.1 Elments logiciels
3.1.2.2 Architecture du SID
17
17
18
18
19
3.2
LE SYSTEME DINFORMATION DECISIONNEL DE SAF
3.2.1
Architecture gnrale du SID SHIVA
3.2.2
Primtre technique SHIVA
3.2.2.1 Technologies utilises
3.2.2.2 Structure des donnes de lentrept
3.2.2.3 Environnements de la base
3.2.2.4 Procdure dalimentation de la base
3.2.2.5 Rglementation de la gestion des donnes
3.2.2.6 Framework ORACLE-PLSQL
3.2.2.7 LOrdonnanceur VTOM
3.2.3
Portails dcisionnels et applications
3.2.4.1
Exemple de Reporting avec QlikView
20
20
21
21
21
21
22
24
24
26
26
26
AYACHI D.
Page 3
28
4.1
OPERATIONS SUR LETL ET LENTREPOT DE DONNEES
4.1.1
Mise en place des volutions/corrections
4.1.2
Cas pratique 1 : Optimisation du sous systme applicatif Datamart Marchs Hospitaliers (HO-BI-ONE) .
4.1.2.1 Expression du besoin et spcification de la solution.
4.1.2.2 Vue densemble de la solution applicative.
4.1.2.3 Spcification de la solution applicative.
4.1.2.4 Cration du patch volutif de linterface 809
4.1.2.5 Tests.
4.1.2.6 Rsultats
4.1.3
Cas pratique 2 : Cration dun nouveau flux pour lintgration des donnes en provenance dIMS Xponent
Hebdo. 32
4.1.3.1 Expression du besoin et spcification de la solution.
4.1.3.2 Vue densemble de la solution applicative
4.1.3.3 Spcification de la solution applicative.
4.1.3.4 Cration des patchs volutifs de linterface 223
4.1.3.5 Tests.
4.1.3.6 Rsultats.
4.1.4
Divers autres petits cas pratiques : Reprise dhistorique, cration dindex.
28
28
30
30
30
31
31
32
32
4.2
39
39
39
41
41
46
48
4.3
OPERATIONS SUR LES APPLICATIONS DECISIONNELLES
4.3.1 Amlioration du rapport de suivi dexploitation de la TMA sous QlikView
4.3.1.1 Expression du besoin et spcification de la solution
4.3.1.2 Ancien rapport et ses fonctionnalits
CHAPITRE 5 : CONNAISSANCES
32
33
34
37
38
38
39
48
48
48
48
51
5.1
UTILISEES
51
5.2
ACQUISES
51
CONCLUSION ET PERSPECTIVES
52
WEBOGRAPHIE ET BIBLIOGRAPHIE
53
ANNEXE
54
AYACHI D.
Page 4
Introduction Gnrale.
Le secteur pharmaceutique est un secteur trs dvelopp en France, et la concurrence y est rude. Les
entreprises gagnantes sont celles qui savent tirer le meilleur parti des informations dont elles
disposent sur elles-mmes et sur leurs concurrents. SANOFI la trs tt dcel et sest fix pour
objectif de mettre en place un systme dcisionnel en support la performance de lentreprise.
Mon stage de fin dtudes a eu ainsi pour cadre le projet TMA 1 dcisionnelle qui consiste en la mise
disposition dune quipe de LOGICA pour mettre en uvre les outils et moyens ncessaires la
maintenance du systme dinformation dcisionnel de SANOFI France.
Ce prsent document rsume tous les aspects abords dans le cadre de ma mission, il est organis de
la manire suivante :
Le premier chapitre dcrit le contexte global du stage en prsentant LOGICA puis le projet TMA
dcisionnelle au sige de la filiale France de SANOFI. Le chapitre 2 aborde la thorie de la business
intelligence (BI) et sa mise en uvre au sein de la DSI SAF pour aboutir au chapitre 3, sur le travail
ralis. Ma mission ma en effet permis de parcourir diffrents aspects de la BI travers lesquels jai
pu voluer petits petit vers un profil de consultant, lequel requiert beaucoup de recul et de
connaissance des aspects fonctionnels et techniques du mtier. Finalement, la dernire partie du
rapport prsente mes conclusions et quelques perspectives.
Tierce Maintenance applicative ou TMA : est la maintenance applique un logiciel et assure par une expertise externe dans le
domaine des technologies de l'information et de la communication.
AYACHI D.
Page 5
AYACHI D.
Page 6
Figure 2: Classement des premiers fournisseurs de services informatiques par zones gographiques dEurope Occidentale (Source:
Gartner)
Outsourcing : ou externalisation, dsigne le transfert de tout ou partie d'une fonction d'une organisation vers un partenaire externe.
AYACHI D.
Page 7
5 000 milliards de dollars sont transfrs chaque jour grce des logiciels financiers de LOGICA,
Deux messages textuels de type SMS sur trois dans le monde transitent par des systmes
dvelopps par LOGICA,
N2 sur le CRM4 N3 sur le march de lIntgration de progiciels : SAP, JDE, Oracle, People Soft
Le graphe ci-dessous rsume la rpartition du chiffre d'affaires de LOGICA en France pour l'anne
2008 et par secteur:
Offres cibles par secteur industriel: Secteur public (E-Services, Scurit, Formation, etc),
industrie, distribution et transport (Mise en uvre de logiciels de gestion d'entreprise), services
financiers (Paiements, Assurance, etc).
Offres cibles par march: Management des systmes d'information, Business Intelligence,
march des technologies propres (Green agenda), SOA et architecture d'entreprise, scurit, ...
Stratgie de partenariat: LOGICA sappuie sur une stratgie de partenariat solide et organise autour
de partenariats stratgiques globaux (SAP, Microsoft et Oracle), partenariats stratgiques avec des
entreprises
3
EAI ou enterprise application intgration : est une architecture intergicielle permettant des applications htrognes de grer leurs
changes.
4
CRM ou customer relationship management : se traduit par gestion de la relation client.
AYACHI D.
Page 8
telles que HP, IBM et Cisco ainsi que des partenariats spcifiques avec les diteurs (Business
Objects, FileNet, HRAccess, Hyprion, Sun, Tibco, Qlik View)
RMA: Le Rapport Mensuel d'Activit est un formulaire complter par tous les salaris de
l'entreprise. Il permet de suivre et d'analyser l'activit de chaque collaborateur sur le mois.
CRAH: Le Compte Rendu d'Activit Hebdomadaire est un document que chaque employ de
LOGICA doit remplir et remettre son Chef de Projet. Il rpertorie chaque tche qui lui est assigne,
le temps pass dessus et le temps qu'il lui reste faire pour finaliser la tche. C'est via ce document
que l'employ prcise les difficults qu'il a pu rencontrer, le retard que cela a engendr et la raison
de ce retard.
GAMAWEB: Cest est une application web qui pour certains projets, remplace le CRAH. Chaque
membre d'un projet remplit dans un formulaire le temps qu'il a pass sur les tches qui lui sont
affectes. A la diffrence du CRAH qui est unique pour chaque utilisateur, GAMAWEB regroupe
toutes les personnes travaillant sur un mme projet. Cela permet au chef de projet d'avoir un
compte rendu gnral rapidement et de manire dtaille de tous les intervenants sur le projet.
Dans le cadre de ma mission, j'ai utilis CRAH afin de rendre compte de mon activit hebdomadaire.
2.1.3.2
Le Staff Manager, le Staff Manag
Lorsqu'un nouveau collaborateur arrive chez Logica, un Staff Manager lui est assign. Le Staff Manager
est un employ ayant au moins 2 3 ans d'exprience et un coefficient de 150. Il assure au sein de son
entit, le lien entre le jeune collaborateur, ou le Staff Manag, et sa direction.
Chaque anne, Staff Manager et Staff Manag fixent un plan de progression personnalis, avec une
cible principale, des comptences dvelopper sous formes d'objectifs atteindre et un plan
AYACHI D.
Page 9
AYACHI D.
Page 10
LOGICA ITS Paris-Nord, regroupant les activits d'ingnierie et d'intgration dans la rgion
Paris-Nord
LOGICA ITS Rgions, quivalant ITS Paris-Nord pour les autres rgions Franaises
Affinity group : communaut au sein dune BU LOGICA qui permet de prsenter et dchanger autour de diffrents sujets orients
solutions ou filires dvolution.
AYACHI D.
Page 11
Systme vertical : les quipes commerciales, techniques et projet se rpartissent par secteur
commercial
Systme horizontal : Constitu des Business Solution Teams et les Solutions skill
Mon stage s'tant droul dans le cadre d'un projet remport par LOGICA la suite d'un appel
d'offre de SANOFI France, je prsenterai dans ce qui suit cette entreprise ainsi que la mission qui m'a
t confie.
2.2 UNE TMA DECISIONNELLE LOGICA POUR SANOFI FRANCE
2.2.1 SANOFI France
SANOFI France est une filiale de SANOFI, un groupe pharmaceutique mondial rassemblant plus de
100.000 collaborateurs rpartis sur une centaine de pays. Leader en France avec 12,5% des parts du
march, son CA atteint le montant de 29,3 milliards en 2009. D'aprs le groupement pour
llaboration et la ralisation de statistiques (GERS), plus d'un article sur cinq livr dans une
pharmacie Franaise est un produit de la socit.
Son offre s'tend en effet sur plus de 400 produits rpartis entre les mdicaments de prescription, les
gnriques et les produits de sant grand public et animale. Les domaines d'expertise de SANOFI
regroupent les traitements des thromboses, des maladies cardiovasculaires, des maladies
mtaboliques, du systme nerveux et du diabte, les vaccins, l'oncologie ainsi que la mdecine
interne.
Depuis la fusion survenue le 1er juillet 2007, SANOFI France (SAF), SANOFI OTC (SAO) et Winthrop
sont runies sous une seule et mme enseigne : SANOFI France . Aujourdhui, chacune de ces
filiales se rserve la production dune ou plusieurs typologie de mdicament. Les ventes en revanche
sont toutes ralises par la socit SAF sur diffrents canaux : grossistes, hpitaux, pharmacies et
parapharmacies.
Le sige de la filiale France abrite plusieurs fonctions : Business Excellence, RH, Supply chain (gestion
des moyens logistiques), Finance, Affaires publiques et communication, Juridique, Relation avec la
filiale Europe de SAF, Stratgie et Business Development et enfin la direction gnrale France.
Ma mission de consultant BI junior sest droule au sein de la division DataWareHouse, entit de la
direction des systmes dinformation (DSI) qui est rattache la fonction Finance.
Cette division a en charge la mise en uvre du systme dinformation dcisionnel au sein de SAF. Elle
sappuie sur une quipe de tierce maintenance applicative ou TMA au sein de laquelle jai effectu
mon stage et que je prsenterai dans les paragraphes suivants.
AYACHI D.
Page 12
Cela permet la TMA de se focaliser encore plus sur le mtier pour lequel des utilisateurs cls (key
users) ont t dfinis chacun sur un primtre fonctionnel de SANOFI France.
Ces utilisateurs ont pour responsabilit d'assurer un support applicatif et fonctionnel et de jouer le
rle d'interlocuteurs vis--vis de la TMA.
2.2.2.3
Un fil dAriane pour le suivi du SI
Version 1.0.1 du Freeware Mantis, Ariane est le systme choisi par la DSI pour le suivi des anomalies
logicielles (bugs) rencontres par les utilisateurs ainsi que leurs nouveaux besoins. Le principe de cet
outil consiste enregistrer la dclaration d'une fiche Ariane, puis, mettre jour l'avancement de sa
rsolution, jusqu' sa clture. Le dclarant de la fiche peut s'informer tout moment via linterface
Web Ariane de l'avancement du traitement de sa demande. Adapt par SANOFI France pour les
besoins spcifiques de sa DSI, loutil est galement utilis par la TMA lchelle du systme
dinformation dcisionnel.
AYACHI D.
Page 13
Chaque fiche possde deux catgories qui permettent de distinguer la nature de la demande saisie:
Type Evoltif/Projet : Expertise, maintenance prventive, maintenance volutive...
Types Autres demandes : Maintenance Corrective, support, administration, problmes,
passage de comptence
Les bugs sont aussi qualifis par :
Une svrit : Saisie par lutilisateur, elle mesure limpact business de la demande : majeure,
medium, mineure,
Une priorit : Pouvant tre saisie par lutilisateur, la priorit va orienter la planification de la
rsolution de la demande et peut donc tre requalifie par la TMA.
Entre le moment o la demande est cre dans loutil et le moment o elle est rsolue, le statut de la
demande va voluer en fonction de lavancement du traitement de la demande
Deux diffrents Workflow sont mis en place, un pour la partie Evolutive (avec gestion du devis) et un
autre plus simple pour le traitement des incidents et demandes de support.
Les diffrents statuts sont :
Nouveau : Premier statut obtenu la cration de la demande
En validation devis : Statut spcifique aux volutions, est utilis lorsque la TMA a envoy un
devis au rapporteur pour validation.
Accept : Fait office de validation du devis
Affect : Indique que la demande a t prise en compte par la TMA et quun intervenant va sen
charger.
Question : Indique que lintervenant de la TMA a besoin dinformations complmentaires
venant du rapporteur pour traiter la demande.
Recette utilisateur : Indique que la demande a t rsolue et livre en recette par la TMA pour
que le rapporteur puisse effectuer sa recette.
RDFC : Fait office de PV de recette et indique que la TMA peut demander linstallation des
sources GIS.
Ferm : Indique que la demande a t livre en production et est oprationnelle.
AYACHI D.
Page 14
Ci-dessous le schma du workflow dans le cas dun incident / dune demande de support :
Page 15
La mise jour et le traitement des fiches Ariane est, comme nous le verrons dans la partie suivante,
au cur du mtier de la TMA. Elle fait lobjet dune convention de service tablie entre SANOFI
France et son prestataire LOGICA visant maintenir un niveau minimum de qualit de service et
mesurer la performance de lquipe TMA.
2.2.2.4
Rle et objectifs du projet TMA dcisionnelle
En tant que sous systme de la DSI SAF, le SI dcisionnel est soumis des exigences de continuit de
service et de matrise des besoins de ses utilisateurs. De ce fait lquipe TMA dcisionnelle LOGICA a
pour objectifs de :
Dcharger les ressources client des tches techniques pour qu'elles puissent se focaliser sur la
performance mtier
Correction
Evolution
Prvention
Afin de mieux rendre compte des connaissances acquises au cours de ma mission, je prsenterai tout
dabord les principes thoriques de la business intelligence pour arriver ensuite sa mise en uvre
au sein de la DSI SAF et du travail ralis.
AYACHI D.
Page 16
Evaluer et interprter
De formats htrognes
AYACHI D.
Page 17
b. Le DataWareHouse : Une fois collectes et consolides par lETL, les donnes sont stockes dans
un entrept appel DataWareHouse ou DWH. Ces donnes sont :
Orientes sujet : Les donnes dans lentrept sont rparties par sujet et non par
application.
Historises : La prise en compte de lvolution des donnes est essentielle pour la prise
de dcision.
Non volatiles : Le rafrachissement de lentrept consiste uniquement rajouter de
nouvelles donnes sans perdre ou modifier celles qui existent dj.
Intgres : Les donnes du DWH sont cohrentes (mise en correspondance des formats,
etc)
Pour certains besoins, les donnes peuvent tre regroupes au sein des DWH en sous ensembles
appels DataMarts. Les DataMarts se focalisent sur un thme, un sujet ou un mtier (ex le DataMart
VENTES va regrouper lensemble des donnes de ventes : factures, commandes, clients, marchs,
produits, etc).
c. Le portail dcisionnel : Il a pour objectif de distribuer linformation auprs de lensemble des
partenaires et de banaliser laccs au DataWareHouse. En effet, un simple navigateur web est
suffisant pour accder aux informations de lentreprise. Lutilisateur une fois connect, peut exploiter
ses tableaux de bords, consulter ses sources dinformation etc.
d. Les outils de reporting et danalyse : Hbergs dans le portail dcisionnel, les outils permettent
de restituer linformation aux utilisateurs sous forme dindicateurs, de tableaux de bord, de rapports
... Ces outils interrogent lentrept dcisionnel par le biais de requtes spcifiques dfinies pour les
besoins de lanalyse mene.
AYACHI D.
Page 18
3.1.2.2
Architecture du SID
Dans les systmes relationnels, lentrept est une base de donnes relationnelle. Toutefois, le
modle relationnel requiert des extensions pour supporter les requtes danalyses
multidimensionnelles des applications danalyse. La technologie ROLAP 6 rpond ce besoin.
Un modle adapt lentrept dcisionnel est un modle qui organise les donnes de manire :
Pour cela la modlisation multidimensionnelle sattache considrer un sujet analys comme un point
dans un espace plusieurs dimensions. Les donnes sont organises de manire mettre en vidence le sujet
ou fait (ex : montant des ventes) et les diffrentes perspectives de lanalyse appeles dimensions (ex : temps,
clients, produits vendus). Cette modlisation peut tre mise en uvre par deux types de modles : relationnel
et multidimensionnel.
La plupart des outils ROLAP ncessitent que la donne soit structure en utilisant un schma en toile ou en
flocon de neige.
ROLAP: acronyme de Relational On-Line Analytical Processing, cest une technique de modlisation et de stockage des donnes base
sur une structure relationnelle.
AYACHI D.
Page 19
Dblink : ou database link est un objet d'une base de donnes permettant d'excuter des requtes sur une autre base de
donnes.
AYACHI D.
Page 20
Base SHIVODS, ODS pour operational data store : utilise par lETL pour les diffrents
traitements sur les donnes, elle contient les donnes de niveau fin comme par exemple une date,
un numro darticle ou le montant d'une vente. Cest dans lODS SHIVA que ces donnes sont
agrges et prpares travers les diffrentes tapes de lalimentation avant leur insertion dans le
DWH, comme nous le verrons dans la partie suivante.
Base SHIVDWH, DWH pour DataWareHouse o sont stockes les donnes traites.
Les outils utiliss pour la production de rapports danalyse sont : Cognos, QlikView et Business
Objects.
Page 21
Environnement de production SHIVA : les bases SHIVODSP (pour lODS) et SHIVDWHP (pour le
DWH) sont destines aux utilisateurs finaux et lusage des outils danalyse.
3.2.2.4
Procdure dalimentation de la base
Comme vu prcdemment, lalimentation de la base SHIVA seffectue en deux temps : dabord
lalimentation de lODS puis, lalimentation du DWH. La procdure se dcompose en 5 tapes dont
une facultative, pouvant sajouter la fin du processus dalimentation de lODS ou du DWH : la
postAlimentation. Celle-ci est souvent utilise pour enrichir les donnes, ou garder lhistorique dune
table particulire.
AYACHI D.
Page 22
Le modle de donnes se compose ainsi de 3 types de tables, chacune ayant un rle particulier dans
la chane dalimentation :
Tables LOD pour les donnes importes dautres bases ou LODEXT chargeant les fichiers plats :
Dans le 1er cas, les donnes sont rcupres dans une vue V_LOD via un dblink puis charges dans la
table LOD, dans le second, les donnes sont rcupres partir du fichier auquel la LODEXT a t
associe dans la table interne INT_FIC ds la prsence de celui-ci dans le rpertoire de LOAD.
La figure 11 nous montre comme exemple le
script de cration de la table LODEXT_PVCDIS0. La
premire partie du script dclare les attributs de
la LODEXT. Ceux-ci correspondent aux champs du
fichier charg. Le script mentionne ensuite
lutilisation de lORACLE LOADER qui rcupre le
fichier
correspondant
au
format
LODEXT_PVCDIS0. Chaque enregistrement est
dlimit par un \n, et une ligne dentte ne sera
pas prise en compte. Chaque champs est dlimit
par un ;.
Badfile et logfile sont des fichiers utiliss par le
systme pour retracer le droulement de la
lecture du fichier par la LODEXT.
AYACHI D.
Page 23
Tables finales : Elles contiennent les donnes de la SAS ayant 1 pour valeur du champ
FLGCTLDWH et alimentes partir de la vue V_SAS correspondante. Elles sont dotes dune cl
fonctionnelle (contraintes dunicit sur un ou plusieurs champs) et ventuellement de cls
trangres (rfrences vers une ou plusieurs tables). La cl primaire dune table finale, champ
IDEODS, correspond un numro interne attribu par une squence ddie la gestion des
enregistrements de la table. Grce linstruction MERGE, lenregistrement est ajout si la cl
fonctionnelle nexiste pas dj dans la table finale, avec incrmentation de la cl primaire. La date de
cration est stocke dans le champ IDEODSTRTCRE (ou IDEDWHTRTCRE pour les tables du DWH) et la
date de modification dans IDEODSTRTMAJ (ou IDEDWHTRTMAJ).
3.2.2.5
Rglementation de la gestion des donnes
La gestion de lalimentation des donnes est sujette une rglementation tablie par la filiale France
de SANOFI :
Pouvoir charger les donnes partir dautres bases Oracle et/ou de fichiers plats
Avoir un systme de mesure (temps, volume) pour toutes les oprations ralises en base
Interface: Flux dans le SID SHIVA qui met jour un ensemble de tables
Mode debug: utilis pour dtecter lorigine de lerreur lors de lexcution en chec dun traitement sur une interface.
AYACHI D.
Page 24
En dtail :
Pour chaque interface, un package PL/SQL doit tre cr.
Ce package se compose de deux lments :
Une spcification o sont dclars les fonctions et variables requises (package spec) et un corps
o sont implmentes les fonctions dclares dans la spcification (package body).
Chaque package contient 3 fonctions obligatoires et une fonction facultative pour les interfaces
dalimentation:
Dans le cas dune interface dextraction, le package PL/SQL contient une fonction dextraction :
F_EXTRACTION.
Page 25
Pour chaque ordre SQL, un systme de mesure utilisant le systme de log, est mis en place. Des
messages sont formats dans le systme de log et fournissent les informations suivantes :
Ordre SQL
Pour les tapes de contrle, un systme didentification des erreurs utilisant le systme de log,
est mis en place. Ces messages sont formats dans le systme de log de la faon suivante :
Libell de lerreur
Les packages gnriques sappuient sur des tables de fonctionnement dites internes qui
permettent dassurer un systme de log retraant les traitements excuts et les erreurs ventuelles
rencontres.
Lensemble des fonctions et actions implmentes dans SHIVA sont excuts par des scripts
Shell : action sur des fichiers/rpertoires (copie, dplacement), excution dautres scripts (perl, awk
), excution de requtes Oracle via sqlplus Les Shell gnriques de lancement des interfaces ont
pour nom shiva<Num_Interface>Fonction.sh avec Fonction une des fonction gnrique excuter
soit:
Alim : alimentation
Chg : Chargement
Ctrl : Contrle
Ext : Extraction
PostAlim : PostAlimentation
Le processus dalimentation dans lODS est lanc par le Shell shiva<Num_Interface>Maj.sh. Celui-ci
appelle ainsi les 3 autres Shell qui correspondent aux diffrentes tapes (chargement, contrle,
alimentation) et optionnellement un 4me Shell pour la post-alimentation.
Le processus dalimentation dans le DWH est lanc par le shell shiva<Num_Interface>Alim.sh.
3.2.2.7
LOrdonnanceur VTOM
Lordonnanceur permet de planifier lenchanement des diffrents Shell excuter. Il gre galement
les dpendances inter-traitements. Tous les traitements appartenant la mme famille fonctionnelle
sont rassembls dans une application VTOM. Pour chaque application, une plage horaire dexcution
est dfinie.
3.2.3 Portails dcisionnels et applications
3.2.4.1
Exemple de Reporting avec QlikView
Visions est un nom gnrique pour dfinir le primtre dapplications ralises sous QlikView. Ces
applications sont hberges dans un serveur ddi et accessibles aux utilisateurs via le rpertoire
AYACHI D.
Page 26
projet Visions. Elles peuvent tre excutes sur le serveur de fichier ou localement sur les postes
utilisateurs.
Une application se compose de plusieurs onglets en plus de longlet dintroduction loutil QlilkView.
Chaque onglet prsente une liste dindicateurs et de tableaux relatifs un sujet danalyse.
Par exemple, dans lapplication Prvision CA ces onglets sont :
AYACHI D.
Page 27
Sur la gauche de chacun des onglets,
une zone comportant des invites de
slections de donnes est dfinie. Cest par
le biais de ces objets quil va tre possible
daffiner des analyses en sintressant par
exemple un unique point dexpdition ou
mme un seul client. Ds quune slection
est effectue, cette dernire saffiche dans
la zone de slections actives situe en haut
gauche ; dans cette zone, on peut effacer
une slection
ou la verrouiller.
Cration des patchs : Les patchs concernent toutes les modifications ou crations de la base de
donnes SHIVA ODS ou SHIVA DWH (tables, vues, squences, packages, synonymes, insertion de
donnes).
Emplacement : Les patchs sont dabord placs sous lenvironnement de dveloppement pour
tre tests, puis sous lenvironnement de recette. Pour chaque cration ou modification dune
interface, il faut crer sur lenvironnement de dveloppement un rpertoire dont le nom a la forme
suivante : <Num_Interface>_<Num_Version> avec :
AYACHI D.
Page 28
Contenu :
A la racine du patch :
Un fichier readme.txt qui contient le nom des objets cres et modifis ainsi que leur
version. Il peut contenir des pr-requis linstallation du patch (par exemple les patchs qui doivent
tre installs avant celui-ci).
Un fichier install.lst qui contient tous les fichiers installer, et dans leur ordre
dinstallation. Dune manire gnrale : les Shell, puis les tables, les objets, les packages, les
access, les insert et enfin les synonymes.
Un rpertoire install (facultatif) : Ce rpertoire contient tous les fichiers SQL excuter pour
installer les ob-jets de la base (Table, vues, package). On pourra trouver :
<Num_Interface>_<Num_Version>_install_table.sql
<Num_Interface>_<Num_Version>_install_objet.sql
<Num_Interface>_<Num_Version>_install_pckb.sql
<Num_Interface>_<Num_Version>_install_pcks.sql
<Num_Interface>_<Num_Version>_install_acces.sql
<Num_Interface>_<Num_Version>_insert.sql
<Num_Interface>_<Num_Version>_install_synonyme.sql
Un rpertoire Shell (facultatif) : Ce rpertoire contient tous les Shell installer. Pour une
cration dinterface, on pourra avoir :
shiva<Num_Interface>Alim.sh (script dalimentation des tables LODEXT)
shiva<Num_Interface>Chg.sh (script de chargement des tables du SAS)
shiva<Num_Interface>Ctrl.sh (script de contrle des tables du SAS et copie vers les tables
SAP)
shiva<Num_Interface>Maj.sh (script regroupant les traitements Alim, Chg et Ctrl)
Eventuellement : shiva<Num_Interface>PostAlim.sh (script de post-alimentation)
Un rpertoire sql (facultatif) : Ce rpertoire contient tous les fichiers sql installer.
Un rpertoire uninstall : Ce rpertoire contient un fichier qui liste tous les fichiers SQL
excuter pour la dsinstallation : <Num_Interface>_<Num_Version>_uninstall_total.sql, les fichiers
sql excuter pour la dsinstallation des objets et un script sh pour remettre les anciennes versions
des fichiers sh modifis.
AYACHI D.
Page 29
4.1.2 Cas pratique 1 : Optimisation du sous systme applicatif Datamart Marchs Hospitaliers
(HO-BI-ONE) .
4.1.2.1
Expression du besoin et spcification de la solution.
HoBiOne est un Datamart qui croise les donnes de ventes et les charges quotidiennement depuis
des fichiers plats et contenants les donnes des marchs hospitaliers (Appels doffres) pour le canal
Hpital.
Plusieurs sous ensembles de donnes sont identifis dans le modle du Datamart HO-BI-ONE :
Donnes Eurydice
4.1.2.2
Vue densemble de la solution applicative.
Ltude doptimisation du package a mis en avant deux axes damlioration :
La procdure P_LODFAIAGR, qui rcupre les faits agrgs, prsente 4 boucles de 12 itrations
dune dure unitaire moyenne de 1 minute et 15 secondes.
AYACHI D.
Page 30
4.1.2.3
Spcification de la solution applicative.
Optimisation des 4 boucles de la procdure P_LODFAIAR
La procdure P_LODFAIAGR, rcupre les faits agrgs, et prsente 4 boucles qui font des merge (Un
merge met jour une table A avec les valeurs d'une table B, en faisant la correspondance sur un
certain nombre de colonnes.) sur la mme une mme table DTM_HBO_VENINT mettant jour les
agrgations des mesures pour les priodes CM, CF, QF et QM.
Il a t dmontr, de manire exprimentale, que fusionner les 4 merge optimisait le temps de
traitement. Il fallait donc faire la refonte du code PL/SQL de cette procdure afin quelle continue
faire les mmes traitements que les 4 merge spars. Le package body de ce flux devait donc tre
modifi.
Optimisation des 4 Vues matrialiss
Les vues concernes sont quasiment les mmes juste un filtre simple un champ change.
Dans ces 4 vues matrialises, Il a t constat dans la clause WHERE que la fonction
F_GET_IDEJOUDAT est applique au champ DTMHBOVENINT_IDEDTMPER de la table
DTM_HBO_VENINT ce qui pour effet dobliger Oracle parcourir lintgralit des partitions.
En
changeant lordre du filtre pour sortir DTMHBOVENINT_IDEDTMPER de la fonction
F_GET_IDEJOUDAT et donc pour cela utiliser la fonction inverse, F_GET_DATIDEJOU, la requte est
plus optimale.
Ancienne Requte :
WHERE
DTMHBOVENINT_IDEDTMPRO = DTMHBOREFPRO_IDEDTM
AND PCK_INT_UTL.F_GET_IDEJOUDAT (DTMHBOVENINT_IDEDTMPER) BETWEEN ADD_MONTHS (
TRUNC (
SYSDATE,
'MONTH'
),
'-11'
)
AND TRUNC (
SYSDATE,
'MONTH'
)
Nouvelle requte :
WHERE
AND
DTMHBOVENINT_IDEDTMPRO = DTMHBOREFPRO_IDEDTM
DTMHBOVENINT_IDEDTMPER
PCK_INT_UTL.F_GET_DATIDEJOU(ADD_MONTHS(TRUNC(SYSDATE,'MONTH'),'-11'))
PCK_INT_UTL.F_GET_DATIDEJOU(TRUNC(SYSDATE,'MONTH'))
BETWEEN
AND
4.1.2.4
Cration du patch volutif de linterface 809
A partir de lanalyse, on peut dduire que les objets qui seront impacts par laction volutive sont :
Vues pour modifier les vues matrialises.
Cration des scripts :
809_<Num_Version>_install_objet.sql
809_<Num_Version>_uninstall_objet.sql
Package body pour modification de la procdure P_LODFAIAGR.
Cration des scripts :
AYACHI D.
Page 31
809_<Num_Version>_install_pckb.sql
809_<Num_Version>_uninstall_pckb.sql
4.1.2.5
Tests.
Pour cette tape un plan de test unitaire a t rdig.
Dans les tests, on doit vrifier que les scripts dinstallation et de dsinstallation des patchs
dvolution sexcutent sans erreurs.
On doit vrifier que les traitements du package fonctionnent comme avant lvolution.
Et pour finir, on doit vrifier que le temps de mises jours des 4 vues matrialises ainsi que le
rafraichissement du package diminue comme prvu dans les spcifications (objectif de lvolution).
Il fallait tre trs rigoureux dans les tests pour que la mise en production ne soit pas en chec,
dautant plus que le bon droulement dautres flux dpend troitement du flux Hobione.
Vous trouverez le fichier du plan de tests en Annexe 56.
4.1.2.6
Rsultats
Aprs la mise en production, le temps de traitement est pass de 4h 2h30 soit une baisse de
presque 40% de son temps de traitement. Loptimisation a t ralise avec succs et le client
satisfait de la mise disposition des donnes 1H30 plutt le matin.
4.1.3 Cas pratique 2 : Cration dun nouveau flux pour lintgration des donnes en provenance
dIMS Xponent Hebdo.
4.1.3.1
Expression du besoin et spcification de la solution.
Le responsable du SID Shiva a eu un nouveau besoin savoir lintgration hebdomadaire de donnes
Xponent weekly data dans une base de donnes dcisionnelle, base qui servira pour du reporting
ultrieurement.
Les donnes Xponent permettent de rapprocher les ventes avec lactivit des visiteurs mdicaux, en
prcisant le lieu et lorigine de la prescription. Lefficacit de la visite mdicale sur la prescription est
ainsi plus facilement mesurable.
AYACHI D.
Page 32
Ces donnes facilitent lanalyse et le pilotage des performances de la force de vente et doivent
permettre :
Aux collaborateurs sige et terrain danalyser les ventes externes au niveau le plus fin par unit
gographique, produit et par March pour :
- Identifier et cibler les zones prospecter en priorit (analyse gographique)
- Analyser limplantation dun produit (analyse concurrentielle)
- Raliser un tat des lieux pour btir les plans dactions rgionaux/sectoriels
- Simuler des plans dactions avec rsultats associs
Aux collaborateurs sige :
- Aider la sectorisation
- Aider la fixation dobjectifs de ventes pour les rseaux
- Calculer les primes des rseaux de ventes
- Croiser les Ventes, lactivit et des donnes de qualification mdecin
Le primtre du projet dintgration stend de la rception des donnes en entre jusqu' leur
intgration dans le DWH SHIVA. De plus, les donnes doivent tre historises, et une mise jours de
la table de fait devra tre mise jour chaque rception de nouveaux fichiers.
4.1.3.2
Vue densemble de la solution applicative
Les fichiers sont envoys par IMS10 une fois par semaine. Ils sont rceptionns via flux CFT
directement dans le rpertoire prvu cet effet.
En entre, nous recevons plusieurs lots de fichiers, chaque lot correspond un march.
On peut dcomposer le primtre du projet dintgration en 3 tapes:
Cration de la cible
10
IMS: Cest est une socit de service qui met disposition de SANOFI une large gamme de solutions, services, conseil et
doutsourcing pour laccompagner dans llaboration de sa stratgie et ses prises de dcisions. Elle aide SANOFI identifier de
nouveaux axes de dveloppement.
AYACHI D.
Page 33
4.1.3.3
Cration de la cible.
La base de donnes permettant de stocker les donnes afin de servir pour le reporting, est une base
de donnes dcisionnelle. Elle consiste en une table de fait contenant les lments analyser, et elle
est lie plusieurs tables de dimension servant pour lanalyse et la prise de dcision.
Nous crons donc le modle de donnes en toile qui va tre aliment par les donnes sources.
En entre, nous recevons plusieurs lots de fichiers, chacun constitu des fichiers suivants :
Le fichier du march SYS_F_MARKET_*
Le fichier des priodes IMS_F_PERIOD_PER_*
Le fichier des produits IMS_F_PRODUCT_PRO_*
Le fichier des mesures IMS_F_MEASURES_*
Le fichier des gographies IMS_F_GEOGRAPHY_*
Le fichier des spcialits IMS_F_SPECIALITY_SPE_*
Le fichier des cip IMS_F_CIPBRIDGE_*
Le fichier des faits IMS_F_FACT_*
Chaque fichier servira alimenter une table (Fait ou dimensions)
AYACHI D.
Page 34
AYACHI D.
Page 35
En effet, on charge tout dabord les donnes dans les tables LODEXT puis on transfre les donnes
vers les tables SAS.
Les donnes seront contrles dans les tables SAS conformment aux spcifications (les donnes non
valides seront bloques). Parmi les contrles, il y a des contrles de non nullits des cls
fonctionnelles (Rejet de la ligne lorsque lun des champs de la cl fonctionnelle est nul), ainsi que la
vrification de lexistence de donnes de dimensions (donnes des champs non nulles).
Enfin, nous alimentons les donnes valides dans les tables finales.
AYACHI D.
Page 36
4.1.3.4
Cration des patchs volutifs de linterface 223
tant donn que cest la cration dun nouveau flux il faut crer tous les fichiers constituant un patch
savoir :
A la racine du patch :
Un fichier readme.txt qui contient le nom des objets cres et modifis ainsi que leur
version. Il peut contenir des pr-requis linstallation du patch (par exemple les patchs qui doivent
tre installs avant celui-ci).
Un fichier install.lst qui contient tous les fichiers installer, et dans leur ordre
dinstallation. Dune manire gnrale : les Shell, puis les tables, les objets, les packages, les
access, les insert et enfin les synonymes.
Un rpertoire install (facultatif) : Ce rpertoire contient tous les fichiers SQL excuter pour installer
les ob-jets de la base (Table, vues, package). On pourra trouver :
223_0000_install_table.sql
223_0000_install_objet.sql
223_0000_install_pckb.sql
223_0000_install_pcks.sql
223_0000_ install_acces.sql
223_0000_insert.sql
223_0000_install_synonyme.sql
AYACHI D.
Page 37
Un rpertoire Shell (facultatif) : Ce rpertoire contient tous les Shell installer. Pour une cration
dinterface, on pourra avoir :
shiva223Ctrl.sh (script de contrle des tables du SAS et copie vers les tables SAP)
Un rpertoire uninstall : Ce rpertoire contient un fichier qui liste tous les fichiers SQL excuter
pour la dsinstallation : 223_0000_uninstall_total.sql, les fichiers sql excuter pour la
dsinstallation des objets et un script sh pour remettre les anciennes versions des fichiers sh
modifis.
Ci-dessous le patch DWH qui a t install :
4.1.3.5
Tests.
Pour cette tape un plan de test unitaire a t rdig.
Dans les tests, on doit vrifier que :
AYACHI D.
Page 38
4.1.4 Divers autres petits cas pratiques : Reprise dhistorique, cration dindex.
Tout au long du stage, selon le besoin des clients jai effectu des petites tches ponctuelles but
volutif ou correctif telles que des modifications de filtres de certaines vues matrialises, la
modification de champs de certaines tables, la cration dindexes sur des tables pour des
optimisations, la reprise dhistorique de certaines donnes manquantes sur une priode dtermine,
la cration renvoyant lhistorique sur une priode prcise
Pour chaque cas, il fallait modifier le package body et/ ou les tables et/ou les vues. Et bien
videmment crer le patch dvolution ou de correction correspondant.
Vous trouverez des exemples de scripts permettant de renvoyer une reprise dhistorique sur une
priode saisie par lutilisateur ou encore la modification de certains champs en Annexe partir de la
page 61 63.
4.2 OPERATIONS SUR UNE SOLUTION MDM : EBX
4.2.1.1
Expression du besoin et spcification de la solution
A partir dun fichier Excel exposant les diffrentes caractristiques des autorisations de mises en
march des mdicaments ou encore AMM, les clients souhaitent avoir les donnes respectives
5000 mdicaments, sur un outil plus ergonomique savoir un rfrentiel consultable nimporte
quel moment par nimporte qui, leur permettant ainsi une meilleure exploitation des donnes.
Ces donnes ntaient jusquici disponibles que sur le fichier Excel en question et ce dernier ntait
pas trs pratique (100 colonnes et 5000 lignes). De plus ces donnes l seront rintgres plus tard
dans dautres bases de donnes pour rpondre dautres besoins.
Le but de ce projet est de crer une maquette qui sera prsent au client afin de lui montrer ce quil
pourrait avoir si on utilise loutil EBX, outil dj utilis pour des projets similaires.
Une fois la maquette ralise, on la prsente aux clients et on intgrera toutes les donnes sous EBX,
sils le souhaitent toujours.
4.2.1.2
Prsentation de Loutil EBX et Lapplication Ogre
Dans cette partie, une description de loutil est faite ainsi que le MDM de SANOFI Ogre .
A- Loutil EBX
Bas sur Java et XML Schema, EBX.Platform est une solution standard et non intrusive qui permet
aux entreprises d'unifier et de grer leurs donnes de rfrence et leurs paramtres travers leurs
systmes d'information. EBX.Platform repose sur une approche matrialise , possdant ainsi de
trs bonnes performances au niveau des traitements (performances que nous prsenterons plus
loin), du fait de lefficacit de son rfrentiel.
Bas sur le standard XML Schema, EBX.Platform simplifie la dfinition de modles qui ont pour
objectif dunifier les donnes de rfrence dune entreprise. En utilisant la technologie XML Schema,
ces modles peuvent tre de tous types (simples, complexes) et de toutes natures (mtiers,
techniques, graphiques). Un des principaux avantages de XML Schema est de permettre la dfinition
de modles de donnes structures, types et ayant de puissantes proprits de validation.
AYACHI D.
Page 39
Les modles EBX (Master Data Models) permettent de crer une dfinition unifie et
enrichie des donnes de rfrence et paramtres. Ces modles sont des documents XML Schema
conformes la recommandation du W3C [1].
AYACHI D.
Page 40
Lapplication est une extension du logiciel de Master Data Management EBX.Platform (nomm EBX
dans la suite de ce document), permettant de dunifier, grer et intgrer des donnes de rfrence
travers un systme dinformation.
dtre ractif par rapport larrive dun nouveau produit ou prsentation sur le march,
damliorer et fiabiliser les changes avec les fournisseurs de donnes lies au produit,
de fiabiliser lintgration dans le DWH des donnes de ventes internes et externes et des
donnes qualitatives par des contrles sappuyant le rfrentiel produit.
4.2.1.3
Vue densemble de la solution applicative
Suite lexpression du besoin, une analyse des donnes est primordiale pour comprendre le sens
des diffrentes informations concernant un AMM.
Une fois les besoins compris et les donnes analyses, la phase de modlisation peut commencer.
Ds que la phase de modlisation est termine, on refait un atelier avec le client pour valider les
spcifications fonctionnelles. Ensuite commence alors la phase de dveloppement, savoir cration
de la structure/ base de donne. Et enfin prparation et nettoyage des donnes avant quelles soient
intgres.
Aprs la phase de dveloppement on finit avec la phase de Test et si tout va bien on livre la maquette
au client afin quil la recette.
4.2.1.4
Spcification de la solution applicative
AYACHI D.
Page 41
Modlisation
Une fois la phase de requte du besoin termine, place la modlisation !
Lanalyse des donnes a dmontre que plusieurs informations pouvaient tre regroupes dans des
tables de rfrences afin de dcharger la table des mdicaments.
Exemple :
Plusieurs mdicaments peuvent avoir la mme adresse de site de production.
On peut donc ressortir les adresses et les mettre dans une table de rfrences. Ainsi dans la table des
mdicaments, on aura juste une cl faisant rfrence ladresse correspondante.
Aprs analyse minutieuse des donnes, nous avons dcid de crer :
Une table AMM sera cre avec les donnes du fichier Excel (65 champs)
16 tables de rfrence simples, qui sont :
-Rfrence titulaire AMM
- Rfrence Type procdure
-Rfrence Contenance
-Rfrence DLU
-Rfrence conditions conservations
- Rfrence Site
-Rfrence Code
-Rfrence Axe thrapeutique
-Rfrence Gamme DAR
-Rfrence Exploitant
-Rfrence Laboratoire dorigine
-Rfrence Statut AMM
-Rfrence RMS CMS
-Rfrence Liste
-Rfrence Chefs
-Rfrence Gestion Globale Locale
-Table Mdicament
Il y aura 2 tables de liens permettant de faire le lien entre certaines tables pour pouvoir rcuprer les
cls trangres. Ces tables de liens sont :
- Table Liens AMM/Medicament (2 champs).
- Table Liens Site/ Type de site/ AMM (3 champs)
Nous obtenons une table des mdicaments AMM qui est dcharge (65 champs) lie 18 tables de
rfrence et de lien.
Le modle est construit sous larchitecture 1-N.
Exemple : En effet un AMM peut tre li plusieurs sites et peut avoir plusieurs contenances.
Vous trouverez toutes les colonnes du fichier Excel dcrivant un mdicament (une centaine de
champs) en Annexe page 59 60.
AYACHI D.
Page 42
Rfrence_Titulaire AMM
+Titulaire_ID
+Titulaire_Libelle
Rfrence_Type_procedure
+Type_Procedure_ID
+Type_Procedure_Libelle
Rfrence_condition_conservation
+Condition_Conservation_ID
+Condition_Conservation_Libelle
Rfrence_DLU
+DLU_ID
+DLU
+DLU aprs ouverture
Rfrence_Gamme_DAR
+Gamme_ID
+Gamme_Libelle
+AMM_ID
+Num_NL_Code_EMEA
+Code_CIS
+Nom de Marque
+Dnomination du produit (libell AMM)
+DCI
+DOSAGE
+Titulaire AMM
+Exploitant
+Laboratoire d'origine 1 (avant fusion)
+Laboratoire d'origine 2 (aprs fusion)
+Date AMM (1re AMM ou validation)
+Statut
+Nom Princeps AMM bis/gen/auto-gen
+Type de procdure
+RMS/CMS
+Etat de commercialisation
+Contenance
+Code CIP 7
+Code CIP 13
+Date de lancement
+Arrt de commercialisation (date information Afssaps)
+Arrt de commercialisation (date Officielle)
+Date Peremption dernier lot
+Liste
+D.L.U.
+Conditions de conservation
+D.L.U aprs ouverture
+Sites
+Code ATC
+Axe thrapeutique
+Gamme DAR
+Responsable Gamme
+Chef de projet rglementaire
+Chef de projet CMC
+Gestion globale/locale
+Liste de sant publique (A ou B)
+AMM de - de 5 ans 07/05/08
+AMM de - de 5 ans et jamais renouvele au 07/05/08
+chance AMM (avant transpo)
+Echance AMM (aprs prorogation) = Ancienne chance +9 mois
+Date planifie dpt maxi (avant transpo)
+Alignement date dpt
+Date planifie dpt SAF (avant transpo)
+Dpt planifi (aprs prorogation) = chance aprs prorogation -6mois
+Nature dossier renouvellement (complet/simplifi)
+Prochaine chance AMM (avec ou sans prorogation + 5 ans)
+Dpt planifi prochain Renouvellement
+Dpt planifi complment dossier (si chance AMM > 07/05/2008 et dpt ralis <07/05/2008)
+Dpt planifi Test de lisibilit
+Date relle dpt Renouvellement
+Date relle dpt Complment dossier
+Date relle dpt Test de lisibilit
+Commentaires RQ
+AMM rfrence pour Export
+Promotion OUI (promu) / NON (non promu)
+Arrts de com effectifs/ Lancements prvus
+Alerte caducit
+Date planifie de dpt caducit
+Caducit AMM
+Rationalisation/Caducit AMM NC / Dpt Afssaps
+Rationalisation AMM NC /Commentaires rglementaires (11/08)
+Rationalisation AMM NC / Propositions rglementaires (11/08): OUI ( abroger) / NON
+Rationalisation AMM NC / Commentaires stratgie (04/2009)
+Rationalisation AMM NC / Retour stratgie
+Rationalisation AMM NC / Retour Groupe
+Rationalisation AMM NC /Dcision collegiale 27/04/2010
+Rationalisation AMM NC /Dcision collegiale 27/04/2010 Commentaires
+Retour Discontinuation process
+Rationalisation AMM NC /Dcision collegiale 07/09/2010
+Rationalisation AMM NC /Commentaires 07/09/2010
Rfrence_Exploitant
+Exploitant_ID
+Exploitant_Libelle
Rfrence_Labo_origine
+Labo_Origine_ID
+LaboOrigine_Niveau1
+LaboOrigine_Niveau2
Rfrence_Statut_AMM
+Statut_ID
+Statut_Libelle
Rfrence_RMS_CMS
+RMS_CMS_ID
+RMS_CMS_Libelle
Medicament
+Code_Medicament
+CIP13_ID
+CIP_7
+Code_EAN13
+Code_GMID
+Date_Lancement
+Date_Arret_Commercialisation1
+Date_Arret_Commercialisation2
+Contenance
Rfrence_Contenance
+Contenance_ID
+Contenance
Rfrence_Liste
+Liste_ID
+Liste_Libelle
Rfrence_Responsables
+Respos_ID
+Respos_Libelle
Rfrence_Gestion_Globale_Locale
+Gestion_ID
+Gestion_Libelle
AYACHI D.
Page 43
Cration du modle de donnes : tables de rfrences /table des mdicaments.
Une fois la modle valid, place sa cration sous EBX.
La cration du modle a t faite grce au module DMA Data Model Assistant dEBX qui est aide la
cration des modles de rfrentiels.
Jai cre toutes les tables de rfrence ainsi que la table des mdicaments.
Pour chaque table cration des attributs en indiquant leurs noms, leurs descriptions, leur types
(entiers, chaines de caractres), leur types de contraintes (cl primaire/ cl trangre ou attribut
simple. Si la cl est trangre, il faut indiquer le champ de la table trangre auquel la cl fait
rfrence.
AYACHI D.
Page 44
Une fois le modle construit, ce dernier est publi et un fichier XML est constitu. La base de
donnes est ainsi cre !
AYACHI D.
Page 45
Pour la table Medicament, partir du fichier Excel on voulait remplacer les donnes du champ,
Contenance qui est une cl trangre, par ses ID se trouvant dans la une autre table : la table des
contenance.
A partir de deux feuilles, une montrant les donnes du fichier Excel contenant diffrentes donnes
dont la contenance et une montrant les diffrentes contenances et leur ID, lidal est de pouvoir
rcuprer les ID correspondant la contenance en question dans le fichier 2 et de remplacer la
contenance du fichier 1 par son ID dans le fichier 2.
Un script VBA a t implment cet effet.
Ainsi nous remplissons toutes les tables du modle de donnes en commenant par les tables de
rfrences, ensuite de liens et pour finir la table des AMM.
Vous trouverez le code dvelopp en VBA pour remplir la table des Mdicaments, en Annexe page 62.
4.2.1.5
Tests
Dans cette phase, on vrifie que la table des AMM est bien lie toutes les tables de rfrences par
le biais des cls trangres.
On vrifie que la liaison des donnes 1-N fonctionne bien, savoir quun AMM peut avoir plusieurs
contenances, peut se trouver sur plusieurs sites. On vrifie aussi quil a bien rcupr les
informations prises sur les tables de rfrences.
AYACHI D.
Page 46
AYACHI D.
Page 47
4.2.1.6
Rsultats
Aprs avoir fini dintgrer toutes les donnes nous pouvons voir un tableau contenant la liste des
AMM.
tant donn que cest juste une maquette, on a rempli toutes les tables de rfrence mais on a
intgre que deux AMM portant les marques ACADIONE et ACEBUTODOL.
Le reste des 5000 AMM sera intgr si la maquette satisfait les besoins du client et surtout sils sont
satisfaits par les fonctionnalits de loutil EBX.
4.3.1.1
Expression du besoin et spcification de la solution
Pour pouvoir suivre au mieux lexploitation des logs, la TMA utilisait plusieurs outils dont un rapport
Qlik View quelle souhaitait faire voluer afin que ce dernier devienne plus pertinent.
On ma demande de faire voluer le rapport existant afin que ce dernier leurs soit dune aide plus
importante.
Vous trouverez ci-dessous lancien rapport, avec ses fonctionnalits et le nouveau rapport avec les
modifications demandes.
4.3.1.2
Lancien rapport permettait de suivre lvolution du temps de traitement dune interface donne, en
fonction du jour, ltape de chargement ou encor le statut. Il y avait notamment deux rapports
identiques, la diffrence tait essentiellement la base de donnes de lentrept, lODS ou DWH.
Le nouveau rapport devrait dans un premier temps rassembler sur un mme rapport les traitements
lis aux deux bases de donnes de lentrept mais aussi amliorer laspect de ce dernier.
Il fallait aussi pouvoir voir lvolution des temps de traitement par famille fonctionnelle (datamart,
application ) et pouvoir zoomer dans le temps, c'est--dire voir lvolution dune interface par mois,
semaine, jusquau niveau de dtail le plus fin qui est le jour.
Enfin en plus du graphique, il fallait rajouter un tableau indiquant pour chaque interface
slectionne les dtails du traitement savoir, date de dbut, date de fin, dure
AYACHI D.
Page 48
Pour raliser ce rapport, je me suis auto forme sur cet outil, afin de pouvoir faire les
dveloppements ncessaires.
Vous trouverez ci-joint lancien rapport dexploitation.
AYACHI D.
Page 49
Vous trouverez ci-joint le nouveau rapport dexploitation avec les volutions demandes.
Dans ce nouveau rapport, lutilisateur peut cliquer (en haut au centre) sur un bouton correspondant la base
de donnes quil veut analyser. Il peut dsormais analyser les traitements en fonction de la famille
fonctionnelle choisie, mois, semaine ou jour avec un effet de zoom.
Deux lments supplmentaires que jai jugs utiles ont t ajouts :
Pouvoir faire une recherche par nom sur lobjet analyser : famille fonctionnelle nom de linterface ou
encore ltape dalimentation de lentrept
Un petit tableau montrant les slections actives pour savoir en fonctions de quelles slections les
rsultats sont affichs
AYACHI D.
Page 50
Chapitre 5 : Connaissances
5.1
UTILISEES
a. Le dcisionnel
Etant en option dingnierie daide la dcision, mes connaissances acquises lors de mes deux
dernires annes dtude en cole dingnieur ainsi que lors de mon dernier stage mont beaucoup
aide. En effet, lcole nous avons eu raliser un mini projet dcisionnel, qui ma vite fait dcouvrir
cet univers. Et le stage de 2me anne, ma permis de dcouvrir toutes les tapes dun projet
dcisionnel de A Z savoir requtes du besoin, rdactions de spcifications fonctionnelles et
techniques, modlisation dimensionnelle( toile et flocon), extractions des donnes et le
dveloppement de tableaux de bord riches en information.
b. La programmation
Les connaissances acquises en programmation PL/SQL lcole ma permis de madapter trs vite dans
le dveloppement de flux permettant les extractions de donnes.
En effet toute modification ou cration dun flux (procdures, fonctions, vues) entrainaient dautres
modifications faire dans le package body en question ou dans dautres packages afin que le tout
fonctionne correctement.
De plus lors de conduite dvolution, touts les impacts reporter sur dautres quil faut prendre en
compte lors du dveloppement ntaient pas forcment indiqus dans le document de spcification de
la solution propose, il fallait donc les anticiper en ayant un recul et des connaissances globales et
techniques sur le fonctionnement gnral du flux.
5.2
ACQUISES
a.
Loutil dAnalyse QlikView
Aprs deux volutions faire sur des rapports QlikView, je possde prsent des connaissances
solides sur cet outil. Il est trs utilis sur le march dans le cadre de llaboration de tableaux de bords.
Jai appris manipuler un nouvel outil dcisionnel qui me servira surement dans de futures missions.
b. Loutil Mantis
Jai eu utiliser plusieurs fois utiliser ce systme de suivi d'anomalies logicielles que je ne connaissais
pas avant. Je suis contente davoir appris lutiliser car dun ct il nous apprend indirectement les
tapes de traitement danomalie ou de conduite dvolution. Par ailleurs cet outil est trs utilis dans
le monde de lentreprise et avoir une exprience pratique sur cet outil est un vrai plus.
c.
Maintenance applicative
Jai appris tout au long de stage faire des conduites danalyses et dtudes sur un SID but volutif,
correctif ou informatif. Jai pu constater limportance de la gestion des donnes histories dans un
entrept de donnes lors des diffrentes oprations de maintenance volutive ou corrective. Les
changements induits par de telles oprations impactent en effet les donnes et leur structure dans la
base. On apprend alors tre vigilent lors de limplmentation des patchs correctifs ou volutifs de
manire assurer une continuit et une prennit des donnes dans le SID.
AYACHI D.
Page 51
Conclusion et perspectives
Bilan
Ce stage m'a permis d'une part, d'apprhender les mcanismes de la prestation notamment la notion
de projet au forait. De plus, il m'a galement permis d'assimiler l'importance de la communication
entre le client et les membres du projet, devoir tre ractif face un problme en s'assurant de
proposer des solutions adaptes et d'initiative en proposant des amliorations afin d'viter que le
problme ne se reproduise ou, dans le cas o ce n'est pas possible, pour en minimiser l'impact.
Voulant voluer vers le consulting dcisionnel, je retiens galement quun bon consultant a avant tout
une bonne expertise technique. Ensuite, il a une connaissance globale de loffre technologique du
march, une capacit dcoute et de formulation des besoins vis--vis de ses interlocuteurs quils
soient techniques ou non et un savoir vendre qui lui permet de convaincre ses commanditaires de la
valeur ajoute de la solution quil lui propose.
Perspectives
Mes deux expriences professionnelles dans lunivers du dcisionnel, la fois sur un projet spcifique
et complet lors de mon prcdent stage chez Decathlon et aussi en faisant de la maintenance
applicative dans une TMA BI, mont aid avoir une vision globale des processus informatiques
ddis la prise de dcision.
Cette connaissance que je compte utiliser bon escient, me conforte dans mes choix de carrire et
alimente mon ambition de continuer dans cette voie, en tant certaine que la casquette Aide la
dcision avec des connaissances en data Mining , Fouille de donnes et recherche oprationnelle ,
connaissances acquises lcole ; me servira et que ce sera un vritable plus par rapport aux autres
consultants.
Et pour clore ce rapport, jai le plaisir dannoncer que Logica ma finalement propose une prembauche, je suis ravie de la confiance que lon ma accorde durant ce stage et je continuerais
laventure avec eux bien volontiers si possible.
AYACHI D.
Page 52
Webographie et bibliographie
http://www.commentcamarche.net/contents/entreprise/business-intelligence.php3
http://fr.wikipedia.org
http://arel.eisti.fr
Intranet SAF: Is@ France
Portail interne Logica: Sesame
Documents internes Logica et Sanofi aventis France
AYACHI D.
Page 53
Annexe
Rapport dentretien de dbut de mission effectu avec mon encadreur Nicolas Provost en Mai 2011
Dbut de mission
Nom du collaborateur
Coefficient/titre
Ayachi Dhekra
Responsable entretien
Nicolas PROVOST
Date
Signatures
16/05/2011
Ayachi DHEKRA
Stagiaire
Page 54
bon
escient
(gains/pertes/drives/sous-charge/surcharge/incomprhension
technique/fonctionnelle/ Elment de blocage divers)
Evaluation : Effectuer un gain de production de 20% sur les volutions (hors charge de pilotage)
Respect des dlais :
Oui
mission)
AYACHI D.
Page 55
AYACHI D.
Page 56
AYACHI D.
Page 57
Plan de tests pour lintgration des flux Xponent Weekly data en provenance dIMS
AYACHI D.
Page 58
Plan de tests pour lintgration des flux Xponent Weekly data en provenance dIMS
AYACHI D.
Page 59
Page 60
AYACHI D.
Page 61
AYACHI D.
Page 62
Script renvoyant les donnes de factures, livraisons, commandes avec les dates saisies par les
utilisateurs :
AYACHI D.
Page 63
Script de dveloppement QliK View pour rapporter des requtes excutes sur lentrept de
donnes directement dans loutil danalyse afin de dcharger la base de donnes.
*-------------------------------------------------------------------------------- Ralis ----------------------------------------------------------------------------------*/
TmpRalis :
LOAD
"DTMMIAREA_PER" AS Mois,
"DTMMIAREA_CODRES" AS CodRseau,
"DTMMIAREA_CODGAMME" AS Gamme,
"DTMMIAREA_CODSEC" AS Secteur,
"DTMMIAREA_CA" AS Ralis ;
SQL SELECT
ODS_REFTPS_JOU_REA.ODSREFTPSJOU_PERIODE AS DTMMIAREA_PER,
RO_REF_GRPPG.ROREFGRPPG_RES as DTMMIAREA_CODRES ,
decode(RO_REF_GRPPG.ROREFGRPPG_COD,'OTC OTX','OTC',RO_REF_GRPPG.ROREFGRPPG_COD) AS
DTMMIAREA_CODGAMME,
GRE_SEC.GRESEC_COD AS DTMMIAREA_CODSEC,
round(( sum(decode(RO_REA.ROREA_COM,0,RO_REA.ROREA_VAL,0)) ) + ((
sum(decode(RO_REA.ROREA_COM,1,RO_REA.ROREA_VAL,0)) )
- ( sum(decode(RO_REA.ROREA_COM,2,RO_REA.ROREA_VAL,0)) )),5) AS DTMMIAREA_CA
FROM
RO_REF_GRPPG,
ODS_REFTPS_JOU ODS_REFTPS_JOU_REA,
V_RO_REF_ROGRPPRM,
RO_REA,
DQ_OFF,
DQ_VALQUA,
DQ_TYPQUA,
DQ_TYPQUAOFF,
ODS_REF_CYCVEN,
ODS_REFGEO_UGA,
GRE_SECUGA,
GRE_SEC,
GRE_RES
WHERE
( V_RO_REF_ROGRPPRM.ODSREFCYCVEN_COD = DS_REF_CYCVEN.ODSREFCYCVEN_COD)
AND ( DQ_TYPQUAOFF.DQTYPQUAOFF_IDEODSOFF(+)=DQ_OFF.DQOFF_IDEODS )
AND ( V_RO_REF_ROGRPPRM.ROREFGRPPRM_CODPRDGES=RO_REA.ROREA_CODPRDGES
AND ( DQ_OFF.DQOFF_IDEODS=RO_REA.ROREA_IDEODSOFF )
AND ( ODS_REFTPS_JOU_REA.ODSREFTPSJOU_IDE = RO_REA.ROREA_IDEODSMOI )
AND ( V_RO_REF_ROGRPPRM.ROREFGRPPRM_IDEODSGRPPG=
RO_REF_GRPPG.ROREFGRPPG_IDEODS )
AND ( DQ_TYPQUAOFF.DQTYPQUAOFF_IDEODSVALQUA=
DQ_VALQUA.DQVALQUA_IDEODS )
AND ( DQ_VALQUA.DQVALQUA_IDEODSTYPQUA=DQ_TYPQUA.DQTYPQUA_IDEODS)
AND (DQ_VALQUA.DQVALQUA_VAL != 'LR' AND (DQ_TYPQUA.DQTYPQUA_COD = 'C021')
AND DQ_OFF.DQOFF_CODOFF < '3000000')
AND DQ_OFF.DQOFF_CODUGA=ODS_REFGEO_UGA.ODSREFGEOUGA_COD
AND ODS_REFGEO_UGA.ODSREFGEOUGA_IDE = GRE_SECUGA.GRESECUGA_IDEODSUGA
AND GRE_SECUGA.GRESECUGA_IDEODSSEC=GRE_SEC.GRESEC_IDEODS
AND GRE_SEC.GRESEC_IDEODSRES=GRE_RES.GRERES_IDEODS
AND GRE_RES.GRERES_COD=RO_REF_GRPPG.ROREFGRPPG_RES
AND ODS_REFTPS_JOU_REA.ODSREFTPSJOU_IDE BETWEEN
ODSREFCYCVEN_IDEODSDATDEB AND AND ODSREFCYCVEN_IDEODSDATFIN
AND ( DS_REFTPS_JOU_REA.ODSREFTPSJOU_IDE
BETWEEN PCK_INT_UTL.F_GET_DATIDEJOU(trunc(ADD_MONTHS (SYSDATE, -13),'mm'))
AND PCK_INT_UTL.F_GET_DATIDEJOU(last_day(trunc(SYSDATE ,'mm'))))
GROUP BY
RO_REF_GRPPG.ROREFGRPPG_COD,
ODS_REFTPS_JOU_REA.ODSREFTPSJOU_PERIODE,
GRE_SEC.GRESEC_COD,
RO_REF_GRPPG.ROREFGRPPG_RES;
JOIN
AYACHI D.
Page 64
LOAD CodRseau,
Rseau,
Secteur
FROM $(path)\RO_Secto.qvd(qvd);
Ralis:
LOAD DISTINCT
Rseau,
Secteur,
Gamme,
Mois,
Ralis
RESIDENT TmpRalis;
Store Ralis INTO $(path)\RO_Realise.qvd;
AYACHI D.
Page 65
Code VBA dvelopp pour lapplication des gestions des AMM sur EBX
Sub test()
Sheets("Feuil1").Select
For i = 1 To 1557
'Sheets("Feuil1").Range ("I" & i)
Sheets("Feuil2").Select
For j = 1 To 1066
If (Sheets("Feuil1").Range("I" & i).Value = Sheets("Feuil2").Range("B" & j).Value) Then
Sheets("Feuil1").Range("J" & i) = Sheets("Feuil2").Range("A" & j).Value
End If
Next j
Next i
AYACHI D.
Page 66