IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Deski Discussion :

[BO XIR2] Comment utiliser un select des valeurs renvoyées par le resultat de @prompt


Sujet :

Deski

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Points : 7
    Points
    7
    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.

  2. #2
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    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)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    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.

  4. #4
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    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

  5. #5
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    @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 : Sélectionner tout - Visualiser dans une fenêtre à part
    @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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    @Prompt('Quelles années ?', 'A', 'Objets personnels\Années', multi, constrained)

Discussions similaires

  1. [Web Service] Problème d'affichage des valeurs renvoyées par un webservice
    Par informatique34 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 11/07/2011, 13h34
  2. Réponses: 0
    Dernier message: 08/06/2011, 13h45
  3. affichage dans une interface des valeurs renvoyées par le port rs232
    Par EmilieGh dans le forum Bibliothèques, systèmes et outils
    Réponses: 5
    Dernier message: 20/05/2011, 17h51
  4. Comment récuperer des valeurs renvoyées par Link
    Par 19cmos83 dans le forum Struts 1
    Réponses: 1
    Dernier message: 22/05/2008, 18h09
  5. Réponses: 11
    Dernier message: 15/02/2006, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo