Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Designer
Designer Forum d'entraide Designer (création d'univers, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/11/2007, 14h47   #1
Invité de passage
 
Inscription : septembre 2002
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 5
Points : 1
Points : 1
Par défaut [BO 6.5] Erreur test d'intégrité

Bonjour,

Lorsque je lance un test d'intégrité sur mon univers, j'obtiens l'erreur suivante:
YearC prompt Parse failed: Exception: DBD, ORA-00920: invalid relational operator.

Voici le code du prompt en question:
@Select(Calendar CDM benchmarking\YearC) IN DECODE(@Prompt('Select year or type Current year','A','Calendar CDM benchmarking\YearC',MULTI,FREE),'Current year',TO_CHAR(sysdate,'YYYY'),'Next year',TO_CHAR(add_months(sysdate,+12),'YYYY'),@variable('Select year or type Current year')) or 'ALL' IN @variable('Select year or type Current year')

Je pense que le problème vient du DECODE.
Pourtant, ce prompt fonctionne.
Je voudrais le réécrire pour éviter l'erreur lors du test d'intégrité.

Avez-vous des idées?

Merci d'avance.
kilmouli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 15h17   #2
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Citation:
Envoyé par kilmouli Voir le message
Bonjour,

Lorsque je lance un test d'intégrité sur mon univers, j'obtiens l'erreur suivante:
YearC prompt Parse failed: Exception: DBD, ORA-00920: invalid relational operator.

Voici le code du prompt en question:
@Select(Calendar CDM benchmarking\YearC) IN DECODE(@Prompt('Select year or type Current year','A','Calendar CDM benchmarking\YearC',MULTI,FREE),'Current year',TO_CHAR(sysdate,'YYYY'),'Next year',TO_CHAR(add_months(sysdate,+12),'YYYY'),@variable('Select year or type Current year')) or 'ALL' IN @variable('Select year or type Current year')

Je pense que le problème vient du DECODE.
Pourtant, ce prompt fonctionne.
Je voudrais le réécrire pour éviter l'erreur lors du test d'intégrité.

Avez-vous des idées?

Merci d'avance.
Je pars en réunion, pas le temps de tout décortiquer mais après un IN il faut encadrer avec des ()
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 15h36   #3
Membre du Club
 
Inscription : octobre 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 64
Points : 52
Points : 52
Une petite idée pour toi,
si tu es en Oracle, il y a un equivalent plus puissant que decode: c'est la fonction case:
exemple :


Code :
1
2
3
4
5
6
CASE HOUSING_STATUS_DIM.HSNG_STS_2 
WHEN 'Apartment ' THEN 'Living Independently' 
WHEN 'Board and Care ' THEN 'Living Independently' 
WHEN 'House/apartment ' THEN 'Living Independently' 
ELSE HOUSING_STATUS_DIM.HSNG_STS_2 
END
dermenji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 15h49   #4
Invité de passage
 
Inscription : septembre 2002
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 5
Points : 1
Points : 1
Quand j'utilise CASE ou quand je mets des paranthèses après le IN, j'ai toujours le même problème.
kilmouli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 17h43   #5
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Fin de réunion ...
Le CASE est effectivement préférable en 10g

Si tu nous disais ce que tu veux obtenir ou mettre en place :
dans ton code
  • 1ère remarque
Code :
@SELECT(Calendar CDM benchmarking\YearC) IN
--- l'objet YearC de la classe Calendar CDM benchmarking
doit être IN (donc une liste de plusieurs valeurs )
--- le decode qui suit est sensé ramener qu'une seule valeur !
alors que le prmpt qui est testé dans ce DECODE n'est pas MONO mais MULTI !
Code :
1
2
3
4
5
6
7
8
9
DECODE(@Prompt('Select year or type Current year','A','Calendar CDM benchmarking\YearC',MULTI,FREE), là c'est le prompte testé
Si il retourne 'Current year',
Alors TO_CHAR(sysdate,'YYYY'), oui
Sinon Si 'Next year',
AlorsTO_CHAR(add_months(sysdate,+12),'YYYY'),
Sinon @variable('Select year or type Current year')) là ça se dégrade 
c'est même pas la paine d'essayer
 
or 'ALL' IN @variable('Select year or type Current year')
Explique plutôt ce que tu cherches à faire
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 10h05   #6
Invité de passage
 
Inscription : septembre 2002
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 5
Points : 1
Points : 1
En fait, ce prompt a été créé par le developpeur précédent.
L'utilisateur a 3 choix:
- Entrer 'Current year' qui va retourner l'année en cours
- Entrer 'Next year' qui va retourner l'année prochaine
- Choisir une année dans la liste de valeurs.

Personnellement, je trouve que les possibilités 'Curent year' et 'Next year' sont inutiles. Je pense que les utilisateurs savent quelle est l'année en cours. Ils n'ont qu'à la choisir dans la liste de valeur.

Mais, je suppose que si ça a été fait comme ça, c'est que ça a été demandé.
kilmouli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 11h03   #7
Membre émérite
 
Avatar de Ayana
 
Inscription : décembre 2005
Messages : 901
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 901
Points : 900
Points : 900
Ceci dit, les besoins évoluent beaucoup d'une année sur l'autre dans certaines entreprises.
Tu devrais peut-être envisager une mise au point avec les différents utilisateurs pour voir si les besoins ont beaucoup évolué et si certaines choses ne peuvent pas encore être améliorées ou supprimées
__________________
--= Ayana =--
Modératrice B.I.

Règles du forum BO

Team BAB - Spécialistes BO

Rubrique BI de developpez.com
Ayana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 13h04   #8
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Citation:
Envoyé par kilmouli Voir le message
En fait, ce prompt a été créé par le developpeur précédent.
L'utilisateur a 3 choix:
- Entrer 'Current year' qui va retourner l'année en cours
- Entrer 'Next year' qui va retourner l'année prochaine
- Choisir une année dans la liste de valeurs.

Personnellement, je trouve que les possibilités 'Curent year' et 'Next year' sont inutiles. Je pense que les utilisateurs savent quelle est l'année en cours. Ils n'ont qu'à la choisir dans la liste de valeur.

Mais, je suppose que si ça a été fait comme ça, c'est que ça a été demandé.
La question est :
- Entrer 'Current year' qui va retourner l'année en cours
OU
- Entrer 'Next year' qui va retourner l'année prochaine
OU
- Choisir une année dans la liste de valeurs.
auquel cas le prompt doit être MONO et l'opérateur égal au lieu de IN
?????
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h30.


 
 
 
 
Partenaires

Hébergement Web