Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Deski
Deski Forum d'entraide Deski (client lourd)
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 26/08/2008, 20h06   #1
Invité de passage
 
Inscription : avril 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 7
Points : 2
Points : 2
Par défaut [BO XIR2] Comment utiliser un select des valeurs renvoyées par le resultat de @prompt

Bonjour ou bonsoir,

Je suis novice dans BO et on me demande un rapport dans lequel je dois faire référence à des années. Grace à vos divers post j’ai pu monter un prompt. Cependant, je voudrais savoir s’il est possible de remplacer {‘2015’,'2014','2013','2012','2011','2010','2009','2008','2007'} par un select des valeurs renvoyées par les données de mes deux fournisseurs de données qui sont les suivant :

Budget :
select * from budget_prevision where SectionIr='S00' AND Left(POSTE_BUDGETAIRE,3)='DEA' and (budget_prevision.annee=@prompt('Quelle année?','N',{'2015','2014','2013','2012','2011','2010','2009','2008','2007'},mono,free))

Vue :
select * from gescompta_jfo_convertie where SectionIr='S00' AND left(dir_section,3)='DEA' and left(compte,2)<>'63' and left(compte,2)<>'64' and left(compte,2)<>'68' and (gescompta_jfo_convertie.exercice=@prompt('Quelle année?','N',{'2015','2014','2013','2012','2011','2010','2009','2008','2007'},mono,free))

Souvent je vois que l’on peut remplacer {'2015','2014','2013','2012','2011','2010','2009','2008','2007'} par ‘taclasse\tonobjet’ or je n’arrive pas à déterminer la classe, ni même mon objet.

J’ai essayer de mettre ‘table\ budget_prevision.annee’ dans le fournisseur buget car c’est issu d’une table SQL et de mettre ‘gescompta_jfo_convertie.exercice’ dans le fournisseur vue car c’est une vue, j’ai le message d’erreur : la synthaxe de @prompt est incorrecte.

Je ne sais pas si je suis assez claire mais il est difficile d’expliquer un probleme lorsqu’on ne le saisi pas soi-même. Je vous remercie d’avance pour vos réponses.
littlegekko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2008, 10h17   #2
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
Le mieux pour commencer serait de nous donner ta version de BO.

Ensuite, par rapport aux année.....veux-tu que ce soit l'utilisateur qui saisisse les années sur lesquelles il veut des résultats, ou bien veux-tu que la requete porte sur toutes les années de ta base de donnée, d'un champs précis ?

Si c'est l'utilisateur qui choisit l'année, il faut un prompt...

Si tu veux faire référence à un champs (et donc un objet), il te faut construire ta requete de telle manière à ce que dans ta condition tu poses l'égalité d'un objet avec un autre objet (daégal à > objet > choisir l'objet) ou avec une requetes spécifique (égal à > sous-requete > créer une sous requete)

Pour mieux t'aider il faudrait etre plus claire sur le rapport que tu souhaite obtenir (quelles infos affichées, quels critères de condition à saisir et les conditions prédéfinies)
__________________
~~ bastoonet ~~

"Team BAB - Spécialistes BO"
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2008, 10h42   #3
Invité de passage
 
Inscription : avril 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 7
Points : 2
Points : 2
Bonjour,

La version de BO XI R2 est 11.5.0.0.

Concernant les années, j'aimerai que l'utilisateur puisse choisir l'année dans une liste de valeurs issues de la base de données et que le rapport renvoit les valeurs uniquement pour cette année choisie. C'est un rapport qui doit permettre de renvoyer le chiffre d'affaire de telle direction, de tel service pour l'année (à choisir par l'utilisateur).

Merci pour votre aide.
littlegekko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2008, 11h05   #4
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
OK, il faut que tu ajoute un @variable ou @prompt dans ta clause where de ton SQL à la carte...

ex :

SELECT
ANNEE,
DIRECTION,
CHIFFRE_AFFAIRE
FROM
TATABLE
WHERE
TATABLE.ANNEE = @variable('Quelle année ?')


....euh..je viens de vérifier..en effet ça ne marche pas dans le sql à la carte....alors que la même requete avec un univers fonctionne...ce sont des fonctions qui font référence à la définition des objets...

Donc désolé mais il va surement te falloir passer par un univers BO
__________________
~~ bastoonet ~~

"Team BAB - Spécialistes BO"
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2008, 01h39   #5
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 185
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 185
Points : 2 724
Points : 2 724
Bonjour à tous,
De retour de vacances, je me jette dans la mêlée
@Prompt est tout à fait utilisable en SQL à la carte mais la liste de valeurs proposée à l'utilisateur doit être
  • soit précisée à l'aide de valeurs saisies :
Code :
@Prompt('Quelles années ?','A',{'2008','2009','2010'},multi,constrained)
  • soit fournie par la liste de valeurs d'un objet dans une classe de l'univers
Code :
@Prompt('Quelles années ?','A','Calendrier\Année',multi,constrained)
Il est impossible de générer cette liste par un Select dans le Prompt.
Si vous tentez de le faire, vous obtiendrez dans la liste de valeurs ... le texte du SQL et rien d'autre (y compris en tentant de ruser avec un EXECUTE IMMEDIATE dans Oracle)

Le @Select pour sa part permet de récupérer dans Designer le SQL de l'objet mentionnée pour l'utiliser dans la définition d'un nouvel objet.

La première chose à faire est donc :
  1. Menu Outils
  2. Commande Univers
  3. Sélectionner l'Univers
  4. Bouton Listes de valeurs
  5. Rechercher si un objet Exercice (ou Année) existe.
Si oui, la deuxième forme ci-dessus pourra être utilisée en précisant la Classe et le nom de l'Objet.
Si non, pourquoi ne pas se le créer ? Soyons fous !
Il faut créer un objet personnel sur l'univers qui s'appuiera sur un objet Date (doit bien y en avoir au moins un sinon bonjour la base !) pour le transformer en Année :
  1. Menu Outils
  2. Commande Univers
  3. Sélectionner l'Univers
  4. Bouton Objets personnels
  5. Ajouter
  6. Nom : Années
  7. Formule :
Code :
Sous-chaîne ( Date en Caractère (  {Classe\ObjetDate}  ) , 7, 4 )
Cet objet personnel devrait pouvoir être désigné dans la deuxième forme
Code :
@Prompt('Quelles années ?', 'A', 'Objets personnels\Années', multi, constrained)
__________________
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 22h05.


 
 
 
 
Partenaires

Hébergement Web