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 10/03/2008, 11h49   #1
Invité de passage
 
Inscription : septembre 2002
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 8
Points : 3
Points : 3
Par défaut [BO XIR2] parametres facultatifs dans requete

Bonjour a tous,

dans un rapport bo, je voudrai avoir 2 parametres facultatifs, soit on saisie la date de facture (param 1) OU la date de commande (param 2).
Or quand on met un parametre dans la requete, celui ci est apparemment obligatoire quand on genere le rapport (le bouton OK est grisé tant qu'on a pas saisie le parametre)
comment rendre un parametre facultatatif ?

merci d'avance pour vos reponses
pdasilva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 12h57   #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
Une chose est certaine :
La mention de la version, elle, n'est pas facultative ...

V5, V6, VXI, VXIR2 ??????
WebI ou DeskI ?????

Merci.

Règles du forum Business Objects
__________________
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 10/03/2008, 13h07   #3
Invité de passage
 
Inscription : septembre 2002
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 8
Points : 3
Points : 3
Par défaut version

la version est BOXI R2

merci de votre aide
pdasilva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 19h33   #4
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
Il suffit :
  • d'utiliser l'UNION de deux requêtes identiques pour la partie Select (Objets du Résultat).
  • de positionner dans chacune une invite.
1) Exemple simple avec des conditions portant sur des objets numériques ou alphanumériques
Requête 1
U Requête 2

Dans la zone Objets du résultat commune au deux requêtes on affiche l'objet DATE
Dans requête 1 on pose une condition sur une donnée alphanumérique:
Objet ANNEE Egal à Invite('QUELLE ANNEE ?')

Dans requête 2 on pose une condition sur une donnée numérique:
Objet MOISNUM Egal à Invite('QUEL MOIS ?')

La réponse à l'invite étant obligatoire il faut pouvoir donner une réponse sur les deux ... qui n'en soit pas une c'est à dire qui ne fonctionne pas

Selon les réponses on obtient :

Code :
1
2
3
4
5
 
R1 avec ANNEE = '2008' ..... saisie 2008 conversion implicite en '2008'
Union
R2 avec MOISNUM = 0
Résultat : toutes les dates de 2008
ou bien
Code :
1
2
3
4
5
 
R1 avec ANNEE = '0' ..... saisie 0 conversion implicite en '0'
Union
R2 avec MOISNUM = 2
Résultat : toutes les dates de Février et pour toutes les années
ou encore
Code :
1
2
3
4
5
 
R1 avec ANNEE = ' ' .ou '?' ou 'non'.... saisie espace ou ? ou non
Union
R2 avec MOISNUM = 4
Résultat : toutes les dates de d'Avril et pour toutes les années
1) Exemple simple avec des conditions portant sur des dates
Nous voici sur ton sujet...

La difficultée est plus grande car l'invite ne peut accepter autre chose qu'une date !
Impossible ici de répondre avec un 0 ou quelque caractère que ce soit.
Donc deux solutions :
Proposer 01/01/2999 pour date non prise en compte ou créer un objet personnel pour transformer la date en alphanumérique

Solution 1
Code :
1
2
3
4
5
 
R1 avec DATE_FACTURE= 10/03/2008
Union
R2 avec DATE_COMMANDE = 01/01/2999
Résultat : toutes les commandes facturées le 10 Mars 2008
ou encore
Code :
1
2
3
4
5
 
R1 avec DATE_FACTURE= 01/01/2999
Union
R2 avec DATE_COMMANDE = 08/03/2008
Résultat : toutes les commandes en date du 8 Mars 2008
Solution 2
Créer deux objets personnels transformant les objets date de commande et date de facturation en objets alphanumériques

Comment faire ?
Créer l'objet personnel DTECOMM
  1. Dans l'Editeur de requête
  2. Cliquer sur Objets personnels (bouton à droite du bouton SQL)
  3. Ajouter
  4. Nommer DTECOMM
  5. Saisir la Formule qui utilise la fonction Date en Caractère dans le groupe de fonctions Fonctions alphanumériques:
Code :
Date en Caractère (  {Classe\DateCommande}  )
De la même façon créer l'objet personnel DTEFACT

Il sera alors possible d'utiliser une seule des deux dates
Code :
1
2
3
4
5
 
R1 avec DTECOMM= ' ' ou '0' ou 'non' ou '?' ....
Union
R2 avec DTEFACT= 10/03/2008
Résultat : toutes les commandes facturées le 10 Mars 2008
ou bien
Code :
1
2
3
4
5
 
R1 avec DTECOMM = 08/03/2008
Union
R2 avec DTEFACT=  ' ' ou '0' ou 'non' ou '?' ....
Résultat : toutes les commandes en date du 10 Mars 2008
Enfin, la méthode de transformation en objet de type alphanumérique peut être utilisée pour les objets numériques ce qui permet de proposer à l'utilisateur des invites de ce type :
  • Choisir un N° de mois ou tapez non
  • Choisir un service ou tapez non
  • Saisir une date ou taper non
__________________
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 11/03/2008, 10h08   #5
Invité de passage
 
Inscription : septembre 2002
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 8
Points : 3
Points : 3
Par défaut param facultatif

ok merci
mais je pense qu'on peut faire plus simple sans requetes d'union. une simple requete suffit avec la close OR:
select...
where date_fact=parametre OR date_commande=parametre

ceci dit dommage que les param facultatifs ne sont pas possibles sans recourir a de la bidouille
pdasilva est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h48.


 
 
 
 
Partenaires

Hébergement Web