|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 7 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
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" |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 7 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
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" |
|
|
00
|
|
|
#5 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 185 ![]() |
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
Code :
@Prompt('Quelles années ?','A',{'2008','2009','2010'},multi,constrained)
Code :
@Prompt('Quelles années ?','A','Calendrier\Année',multi,constrained) 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 :
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 :
Code :
Sous-chaîne ( Date en Caractère ( {Classe\ObjetDate} ) , 7, 4 ) 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 !!!" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com