PDF : Base de connaissances sur Business Objects (151613 téléchargements )
Ce document constitue une base de connaissances pour le progiciel Business Objects. Il contient toutes les informations amassées sur BO au cours de son utilisation, classées par catégories et par type. Loin d’être exhaustif, ce document s’enrichit chaque jour au cours de l’utilisation de BO que ce soit au niveau administration des servers ou des contenus utilisateurs (rapports, etc) notamment grâce au retour d’expérience des utilisateurs.
Table of Contents
Architecture
BOXIR3
Planification des sauvegardes BDD sous BO XI R3
Le CMS doit être le 1er à démarrer et le dernier à être arrêté.
Il existe la commande at sous Windows
Création du script d’arrêt et de démarrage automatique de BO. Ce script bat permet de démarrer le SIA, pour l’adapter à votre installation, pensez à bien modifier Server Intelligence Agent (BOXI1) avec le nom de votre CMS (remplacer BOXI1 par le vôtre) :
REM Script pour stopper ou demarrer les SIA de BO REM action doit etre egal a start ou stop
set action=%1
REM si le parametre n’est pas bon, on sort
if NOT "%action%"=="start" (if NOT "%action%"=="stop" (exit /B))
REM On commence par le SIA BOXI contenant la CMS
net start | find "Server Intelligence Agent (BOXI)" > nul 2>&1
REM Si errorlevel superieur ou egal a 1 le programme n’est pas lance
REM Si le cms est actif et que la commande est start, on sort du programme
if ERRORLEVEL 1 ( set cmsenmarche=0 ) else ( set cmsenmarche=1 )
REM Si le cms est deja arrete et que la commande est stop, on sort du programme
if "%action%"=="stop" (if %cmsenmarche%==0 ( exit /B ) )
REM Si le cms est deja demarre et que la commande est start, on sort du programme
if "%action%"=="start" (if %cmsenmarche%==1 ( exit /B ) )
REM On demarre ou on stop le serveur, si le cms est inactif REM
if "%action%"=="stop" (net stop "Server Intelligence Agent (BOXI)")
if "%action%"=="start" (net start "Server Intelligence Agent (BOXI)")
Migration BDD
Pour la migration de la BDD BO XI 3.1
- Arrêtez le SIA BOXI1
- Faites un backup de l’ancienne base avant de créer la nouvelle base
- Cataloguer la base sur le serveur BO
- Allez dans le Central Configuration Manager
- Spécifiez la source de données du CMS pour le SIA BOXI1 (ou par propriétés->configuration->spécifier)
- Sélectionnez l’option « Copier les données d’une autre source »
- Sélectionnez comme source :
- Nom serveur : nom de la BDD source
- ID : nom d’utilisateur ayant accès à la base
- mdp : mdp_de_l’utilisateur
- Copiez vers :
- Nom serveur : nom de la BDD de destination
- ID : nom d’utilisateur ayant accès à la base
- mdp : mdp_de_l’utilisateur
- Confirmez et attendre la fin du processus
Problèmes fréquents
Problème lors du redémarrage du SIA, port déjà utilisé par le système!
netstat -ab permet d’afficher les ports utilisés et l’exécutable qui les utilise (en l’occurence [system])
netstat -o permet d’afficher le PID des processus qui utilisent les ports.
Taskkill /PID XXXX /F permet de forcer l’arrêt d’un processus.
Impossible de se connecter aux serveurs BOXI3 avec les outils clients
Le problème vient du fait que les serveurs ont 2 cartes réseaux (ou du moins sont sur 2 réseaux différents), il faut donc vérifier l’affichage des cartes réseaux dans « gérer les connexions réseaux » du panneau de configuration puis « Avancé->paramètres avancés » dans l’onglet « Cartes et Liaisons », la carte publique (où les clients se connectent) doit bien apparaitre en première.
Ensuite, dans la CCM, stoppez le SIA comprenant le CMS puis allez dans « Propriétés »->Onglet « Démarrage », on sélectionne le CMS et on clique sur « Propriétés », puis dans « Port », on préfixe le numéro de port, par l’adresse IP de la carte à binder (par exemple : 192.168.1.1:6400).
BDD
Problème de date sous Informix
Les dates par défaut sous Informix sont au format « américain » (MM/DD/YYYY) ce qui crée des problèmes lorsque les utilisateurs font du SQL à la carte et qu’ils indiquent « en dur » des dates au format DD/MM/YYYY.
Pour changer ce comportement il faut modifier les clients Informix des serveurs BOXI en rajoutant ces paramètres dans la clé de registre :
[HKEY_LOCAL_MACHINE\SOFTWARE\Informix\Environment]
"INFORMIXDIR"="C:\\Program Files\\Informix\\Client-SDK\\"
"DBDATE"="DMY4/"
"DELIMIDENT"="n"
D’autre part, il a fallu modifier les fichiers informix.prm des serveurs afin de générer une date française par défaut :
<Parameter Name="USER_INPUT_DATE_FORMAT">'DD/MM/YYYY'</Parameter>
Autrement, l’erreur « Invalid month in date » survient.
D’autre part, il faut aussi penser à changer les fichiers informix.prm des clients BO qui sont, par défaut, au format américain ce qui crée des problèmes lorsque les utilisateurs font du SQL à la carte et qu’ils indiquent « en dur » des dates au format DD/MM/YYYY.
Pour changer ce comportement, il faut modifier avec un éditeur de texte type notepad des fichiers de configuration nommées informix.prm de BO qui se trouvent dans :
BusinessObjects Enterprise12.0\win32_x86\dataAccess\connectionServer\informix
et dans :
BusinessObjects Enterprise 12.0\win32_x86\dataAccess\connectionServer\jdbc
Outils clients
InfoView
Dossier : conteneur physique où sont rangés les fichiers
Catégorie : propriétés virtuelles du fichier
Les raccourcis permettent notamment de ne maintenir qu’un seul fichier (analogue aux raccourcis Windows ou ln sous Linux)
Planification
La planification peut permettre de faire des envois automatiques de documents par email par exemple.
Pour limiter le nombre d’instances : Dossier/Limites
L’heure de passage du script de suppressions des instances se trouve dans une clef de registre InstanceLimitsBatchCleanUpTime.
Problèmes rencontrés et/ou Informations utiles
Droits sur la boite de réception
Pour l’envoi de documents vers la boite de réception des utilisateurs, il faut accorder le droit « Visualiser les objets » sur les boites de réception des utilisateurs aux utilisateurs ayant le droit d’envoyer. Récapitulatif des droits à accorder pour que l’utilisateur puisse envoyer des rapports aux autres utilisateurs :
- Pour les « boites de réception », accorder les droits suivants (avec héritage aux sous-objets) sur « Toutes les boites de réception » :
- « Système->Boite de réception->Ajouter les objets aux dossiers »
- « Général->Général->Visualiser les objets »
- « Général->Général->Ajouter des objets appartenant à l’utilisateur »
- « Général->Général->Ajouter les objets aux dossiers »
- Pour les « Utilisateurs et groupes », accorder le droit (avec héritage aux sous-objets) :
- « Général->Général->Visualiser les objets »
Problème de sécurité FRM008 suite à la suppression d’un document
La gestion de la sécurité sous BOXI fait que, tout document sur le référentiel accessible via InfoView, contient un entête de sécurité permettant de protéger le document. Cependant, si l’utilisateur supprime un document du référentiel via InfoView, en tout quiétude car il sait qu’il en a une copie sur son poste. Il obtiendra malheureusement à l’ouverture du document sur son poste le message : « Vous n’êtes pas autorisé à accéder à ce document (FRM008) ».
Au vu des recherches faites sur Internet, ceci est un « comportement normal de BO ». Or, il n’y a aucun moyen simple de remédier à ce problème. La seule solution à l’heure actuelle est de :
- Créer un nouveau document utilisant le même univers que le rapport verrouillé, ce peut être un document tout simple puis l’exporter sur le référentiel pour le rendre accessible sur InfoView dans n’importe quel dossier.
- Allez dans la CMC et accéder à ce document, regardez les propriétés du document et récupérer le chemin physique du document sur le FRS, par exemple :
frs://Input/a_138/002/000/650/aspv1zmgkojaidezafajr.c.rep - Se rendre dans le chemin d’accès du document, dans le répertoire parent.
- Une fois dans ce dossier, récupérez le nom du fichier .rep sans le supprimer, par exemple « aspv1zmgkojaidezafajr.c.rep » .
- Renommez le fichier verrouillé avec ce nouveau nom (ici « aspv1zmgkojaidezafajr.c.rep » ) et écrasez le .rep que vous aviez créé.
- Dans Deski, faites « Importez depuis le référentiel » pour importer le document. Vous devriez avoir accès au document qui était verrouillé sans aucun problème.
Designer
L’ouverture d’un .unv prend la dernière version de BO par défaut et non BO6.
Chemin des univers : « C:\Documents and Settings\tonlogin\Application Data\Business Objects\BOXX\universes\Univers » doit contenir les .unv (où XX est le numéro de version 6.0, 12.0, etc)
Apprentissage du Designer BO
Pour tester un univers :
Chaque objet doit retourner une information cohérente et validée
Tests des jointures. Par exemple pour Pays–Client-Ventes si la requête nom du pays, nom client retourne bien les clients par pays et si la requête nom client, montant des ventes retourne le bon CA par client, la relation Pays–Client–Ventes est validée.
Lancer une vérification de l’intégrité de l’univers depuis le designer
Détecter d’éventuels produits cartésiens. Dans Outils->Editeur de requêtes, insérez tous les objets dans la requête sans l’exécuter, puis cliquez sur l’icône SQL. Si le message « Risques de produits cartésiens apparait », cela signifie que l’univers n’est pas intègre et qu’il manque certains liens.
Réalisation de requêtes types utilisant les tables de volumétrie importante (analyse des requêtes, qualification des problèmes et recherche de solutions)
Pour optimiser les univers :
Essayer de ne pas utiliser de fonctions sur les colonnes indexées.
Essayer d’utiliser le moins possible l’opérateur de concaténation dans une condition ou un lien.
Utiliser les fonctions du module permettant d’améliorer les performances : les raccourcis jointures, la fonction @aggregate_Aware sur les tables d’agrégats précalculés.
Surcharge de connexions dans XI :
Dans « Outils->Gérer la sécurité->Gérer les restrictions d’accès »
Il suffit ensuite de créer une restriction et de définir la connexion pour cette restriction à un groupe d’utilisateur auquel elle s’applique.
Il faut penser à accorder les droits « Visualiser ou Visualiser à la demande » sur la connexion générique par défaut de l’univers aux utilisateurs ayant la restriction, autrement, les utilisateurs ayant la restriction en place ne pourront pas utiliser cet univers. Ensuite, lors de l’ouverture du rapport, InfoView vérifie que l’utilisateur a bien accès à la connexion globale, si c’est le cas, il vérifie si l’utilisateur a une surcharge de connexions en place auquel cas il applique cette surcharge de manière à ce que l’utilisateur n’ait accès qu’à celle-ci. Il faut donc bien s’assurer que l’ensemble des utilisateurs ayant accès à la connexion générique ont bien une restriction en place sous peine qu’ils aient accès à des informations auxquelles ils ne devraient pas.
Problèmes rencontrés et/ou Informations utiles
Problème dans le designer pour créer des conditions (filtrage) sur les alias
En fait c’était à cause du nom de l’alias qui contenait des caractères incorrects (qui créaient des erreurs SQL) tel que : « ,)
Pb connexion référentiel pour utiliser le Designer BOXIR3 :
Solution trouvée sur : http://forums.sdn.sap.com/thread.jspa?threadID=1363081
DeskI
Pour être sûr des totaux : possibilité d’utiliser plier/déplier dans DeskI (puisque ça cache les données élémentaires à l’utilisateur, les totaux affichés sont forcément bons).
Prompts ou alerteurs permet d’afficher des informations, des avertissements, etc.
Problèmes rencontrés et/ou Informations utiles
SQL à la carte
Le SQL à la carte utilise des connexions « spéciales » appelées « connexions partagées ». C’est pourquoi, si vous utilisez le cluster @nomcluster dans le nom du système, vous n’aurez pas accès au SQL à la carte car les connexions partagées sont rattachées à une machine et non pas à un cluster. Il faut donc accéder directement aux serveurs en indiquant leur nom dns.
Perte du menu principal
En cas de perte du menu principal de BO, voici comment le restaurer :
- Enfoncez les touches Alt + F11 pour activer la fenêtre VBA
- Enfoncez les touches CTRL + G pour activer la fenêtre Immediate Window
- Copiez-y la ligne de code suivante : application.cmdbars.activemenubar.visible = true
- Et la touche « Entrée » pour valider.
WebI
Pour modifier la mise en page :
- Afficher la structure
- Clic sur « Page »
- Puis propriétés de la page
- Insérer 1 invite de requête :
- Modèles puis « Cellules individuelles->Cellule vide »
- Pensez à modifier les bordures des cellules (dans « Propriétés->Apparence->Bordure »)
- Clic dans la cellule puis « Fonctions » (fx) et « Réponse Utilisateur » y mettre un fournisseur de données (fd([city]) par exemple), la question à poser à l’utilisateur puis valider.
Les alerteurs sont des conditions très intéressantes afin de mettre en exergue les données d’un rapport, alertes spécifiques à une donnée ou généraux (données ou contenu cellule)
Les ruptures servent à la mise en forme en séparant les données (hiérarchie).
Référentiel : BDD + FRS
Il y a un mode brouillon (pratique pour la création) et un mode page (pour l’impression)
Attention aux contextes dans WebI qui peuvent modifier ou rendre incohérent un résultat.
Conseils sur les rapports :
- Ajouter la date de rafraichissement des requêtes
- Gérer un numéro de version du document
- Etudier la possibilité d’établir une mise en forme standard des Etats (modèles, feuilles de style)
- Utiliser Formats et données exportables
Problèmes rencontrés et/ou Informations utiles
Problème pour la création des variables. On peut les créer dans le rapport (éditeur de variables) plutôt que sous l’éditeur de requêtes contrairement à DeskI où il existe les « objets personnalisés » au sein de l’éditeur de requêtes.
Pour remettre à 0 une somme cumulative lorsqu’il y a des ruptures, il faut l’indiquer dans la fonction SommeCumulative([Objetàcumuler], [Paramdereinitialisation])
Problème pour le contrôle de saisie (contrôle d’entrée) -> peut disparaitre. Dans ce cas, il faut dupliquer le rapport et refaire le contrôle de saisie.
Pour qu’un utilisateur ait le droit de créer un document WebI dans son dossier personnel, il faut qu’il ait le droit « Contrôle Total » sur l’application WebI (de même pour DeskI).
Message « Impossible de rétablir la connexion au CMS BOXI2 : session expirée » apparait parfois -> paramètre de timeout au niveau des serveurs proxy et au niveau des serveurs « Intelligence Cache Server » par exemple.
Administration
Java et TomCat
Sous TomCat, il y a 2 types de mémoire: heapspace->espace dynamique (Xms et Xmx) et PermGen Space-> statique (PermSize et MaxPermSize)
Authentification LDAP
La mise à jour du LDAP n’est pas nativement automatique. Elle est cependant automatisable en utilisant un script java (SyncUsers.jar) qui est planifié via InfoView : http://forums.sdn.sap.com/message.jspa?messageID=8448131
Import des utilisateurs via une liste
On peut importer les utilisateurs dans BO XI R3 (grâce à l’outil d’importation), en utilisant un fichier texte ou csv avec 6 champs, pour l’utilisateur :
- Nom de groupe
- Nom d’utilisateur
- Nom d’utilisateur complet
- Adresse électronique de l’utilisateur
- Nom du profil
- Valeur du profil
Pour les groupes :
- Nom de groupe
- Null (c’est à dire rien)
- Description du group
- Null
- Nom du profil
- Valeur du profil
Ensuite suivre le guide d’importation qui indique toutes les étapes nécessaires.
Audit
Nécessaire pour le Report Conversion Tool.
- Création de la base d’audit
- Création des tables d’audit, modification du SIA pour auditer dans les tables (Spécifier la base de données d’audit puis la création se fait automatiquement dès que l’audit est activé)
- Création de la connexion audit dans le Designer
- Modification de l’univers (Fichier->Paramètres) pour utiliser cette nouvelle connexion
- Modification du rapport Web de conversion pour utiliser ce nouvel univers
Pour récupérer les univers et rapports d’audit
- If the older Auditing reports are present in CMC/Infoview, delete the folder.
- Open the Enterprise installation folder and navigate to SetUp\Package\…
- Open the audit_bi.cab file using any unzip utility.
- Extract the following files: For Auditing Universe, depending on the type of database server, extract auditing_db_DatabaseName.biar.EC96EADD_9CD7_439E_BA9A_B0C1066E411E. For Auditing reports, extract auditing_rpt_enbiar.EC96EADD_9CD7_439E_BA9A_B0C1066E411E.
- From both the file, remove the random extension after ‘.biar’ in the filename.
- Run the Import Wizard to extract the Universe to the Enterprise from first file.
- Open the Universe Designer and Import the « Activity » Universe to local disk.
- Open the Universe connection parameter and make the appropriate connection to the Auditing database.
- Save the Universe and Export it back to the Enterprise.
- Run the Import Wizard again to import the preconfigured sample reports from the second file. Make sure not to overwrite existing Universe.
- If the Universe is replaced, then we need to perform Step 6 through Step 8 once again.
- Login to the Infoview or Central Management Console (CMC) to run the reports.
Installation outils clients BOXI R3
Lors de l’installation -> message d’erreur, solution trouvée sur : http://support.microsoft.com/kb/925336
Un script d’installation automatique de boxi3 a été réalisé.
Il contient notamment le script vbscript permettant d’installer automatiquement les outils clients boxi3 et les mises à jour, l’installation pour les gestionnaires n’installera que les outils clients nécessaire sans le designer, une installation normale installe l’ensemble des outils :
'Install.vbs - Installe les outils clients pour BOXI3 et les MAJ (SP2 + FP) '© Pascal MIETLICKI - [email protected] - 25/05/2010 14:50 'Ce script doit tourner sous Windows 2000 et Windows XP 'Fonction GetAddRemove based on script posted by Torgeir Bakken Dim num : num = GetAddRemove 'Set WshShell = WScript.CreateObject("WScript.Shell") If num<0 Then 'Pas de client tools, on installe tout 'On demande quel est le profil à installer strMbox = MsgBox("Installation pour un gestionnaire?",4) If strMbox=6 then strini = "gestionnaire_install.ini" Else strini = "default_install.ini" End if Return = WScript.CreateObject("WScript.Shell").Run("boxi_clienttools\setup.exe -r " & strini, 10, true) if Return<>0 then MsgBox "Probleme à l'installation du client !" Else Return = WScript.CreateObject("WScript.Shell").Run("regedit.exe /s policyscope_actif.reg", 10, true) If Return<>0 then MsgBox "Probleme lors du changement de la clé de registre, vous n'avez sans doute pas les droits suffisants." Else Return = WScript.CreateObject("WScript.Shell").Run("boxi_clienttools_s p2\setup.exe -r default_install.ini", 10, true) if Return<>0 then MsgBox "Probleme lors de l'installation du SP2!" Else Return = WScript.CreateObject("WScript.Shell").Run("boxi_clienttools_fp26\setup.exe -r default_install.ini", 10, true) if Return<>0 then MsgBox "Probleme lors de l'installation du FP 26 !" end if end if end if end if Return = WScript.CreateObject("WScript.Shell").Run("regedit.exe /s policyscope_inactif.reg", 10, true) if Return<>0 then MsgBox "Probleme clé de registre policyscope_inactif!" end if End if If num=0 Then 'Il y a le client tools, on installe le sp2 Return = WScript.CreateObject("WScript.Shell").Run("regedit.exe /s policyscope_actif.reg", 10, true) if Return<>0 then MsgBox "Probleme lors du changement de la clé de registre, vous n'avez sans doute pas les droits suffisants !" Else Return = WScript.CreateObject("WScript.Shell").Run("boxi_clienttools_sp2\setup.exe -r default_install.ini", 10, true) if Return<>0 then MsgBox "Probleme lors de l'installation du SP2!" Else Return = WScript.CreateObject("WScript.Shell").Run("boxi_clienttools_fp26\setup.exe -r default_install.ini", 10, true) if Return<>0 then MsgBox "Probleme lors de l'installation du FP 26 !" end if end if end if Return = WScript.CreateObject("WScript.Shell").Run("regedit.exe /spolicyscope_inactif.reg", 10, true) if Return<>0 then MsgBox "Probleme clé de registre policyscope_inactif!" end if end if If num=1 Then 'Il y a le client tools et le SP2, on installe le fp 2.6 Return = WScript.CreateObject("WScript.Shell").Run("boxi_clienttools_fp26\setup.exe -r default_install.ini", 10, true) if Return<>0 then MsgBox "Probleme lors de l'installation du FP 26 !" end if end if if num=2 then MsgBox "Rien à installer, vous avez déjà la derniere version des outils clients." Else if Return=0 then MsgBox "Tout s'est installé correctement."
Optimisation des serveurs de la CMC pour BOXI R3
CMS
Connexion à la BDD systèmes : de 14 (valeur par défaut) à 50.
Pour le CMS, on peut rajouter l’option « -ipv4 @ip_du_server »
Deski Cache Server
Délai d’expiration de la connexion inactive -> voir si on modifie ou non
Deski Processing Server
Nombre maximal de travaux simultanés : de 10 à 0 (automatique)
WebI Processing Server
Délai d’expiration pour inactivité de documents : de 300s à 3600s
Pensez à mettre la taille maximale du cache d’univers au nb d’univers existant sous BO XI R3 (une fois les univers migrés)
Modification du délai d’expiration de session WebI (trop court pour travailler convenablement….) :
Délai d’expiration pour inactivité de document (secondes): 3600 s (soit 1h) par défaut à 300
Délai d’expiration pour inactivité de la connexion (minutes): 480 min (soit 8h) à 20 min par défaut
Délai d’expiration avant recyclage (secondes) : 6000s par défaut
A savoir
Problème « Error : INF »
Il peut arriver, suite à une mise à jour d’un serveur ou un redémarrage de tomcat par exemple, que les messages « com.businessobjects.wp.om.OMReportElementContainer (Error: INF ) » ou « com.businessobjects.wp.om.OMReportFail (Error:INF) » ou tout simplement « (Error:INF) » s’affiche.
Dans ce cas, il faut redémarrer tomcat. Parfois il peut être nécessaire de tuer les instances de tomcat avant de le démarrer (réinitialisation complète).
Problème « Communication Failure » lors de l’utilisation des outils clients
Un problème est survenu suite à une panne de boxi1. Le basculement a généré une erreur sur les produits clients lorsque les utilisateurs souhaitaient se connecter. Le message « Communication failure » survenait systématiquement.
La solution est de modifier le CMS de chaque SIA en indiquant bien le FQDN de chaque serveur.