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 01/06/2007, 08h50   #1
Invité régulier
 
Inscription : avril 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 23
Points : 6
Points : 6
Par défaut [BO 5.1] Problème fonctions date

Bonjour,

Je n’arrive absolument pas à utiliser les fonctions dates. Mon but est de remplir une condition pour que mon objet année soit égal à l’année courante.
Si je fais <ANNEE> = 2007 pas de problème.

Pour automatiser le système je voudrais employer une fonction date : getdate(), now(), curdate(). Apres j’adapte mon format <ANNEE> avec un substr() ou char().

Quoique je fasse je me retrouve avec une de ces 2 erreurs : soit on me demande d’insérer un objet dans la fonction, soit l’opérande de l’opérateur est incompatible…

Merci d’avance pour votre aide.
yalla3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 10h15   #2
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
il y a la fonction Année associée à la fonction datecourante qui fonctionne bien :

Année(DateCourante())

(tes problèmes viennent surement du fait que tu comparais des formats de date avec des formats de caractères ou de numeriques)
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 10h53   #3
Invité régulier
 
Inscription : avril 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 23
Points : 6
Points : 6
Merci beaucoup pour ton aide. Mais ta solution ne marche pas pour mon cas.

Mon objet <ANNEE> est au format numerique.

Je pense aussi que ca vient d'un probleme de format.
Il y a t'il un moyen pour changer de format date soit en numerique ou alphanumerique?
yalla3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 15h14   #4
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
la fonction annee renvoie un numerique !

Citation:
Pour automatiser le système je voudrais employer une fonction date : getdate(), now(), curdate(). Apres j’adapte mon format <ANNEE> avec un substr() ou char().
tu travailles avec quelle version de BO et dans quelle langue ?

Dans BO 6.5 en français annee marche très bien .

est ce que tu peux donner le message d'erreur exact ?
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 09h58   #5
Invité régulier
 
Inscription : avril 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 23
Points : 6
Points : 6
Bonjour,

Ma version c’est 5.1 en français.

Voila exactement ce que je met pour créer mon objet : de type numérique

Dans le select :
<CODE CLIENT>

Dans le where :
<ANNEE> = annee()

J’ai le même message d’erreur si je met getdate()

Voici exactement le message d’erreur :
L’analyse a échoué [IBM][Pilote ODBC iSeries Access][DB2 UDB]SQL0204 – ANNEE de type *N dans *LIBL non trouvé.

Merci de ton aide
yalla3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 12h16   #6
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
tu es dans l'éditeur de requetes ?
si c'est ça, alors c'est normal que cela ne fonctionne pas, je pensais que tu étais dans le document et que tu voulais filtrer les données...

le plus simple c'est de faire (ou de faire faire si tu ne connais pas le module designor) un filtre prédéfini :

(en oracle, je ne connais pas DB2 )
@Select(Année) = TO_NUMBER(TO_CHAR(SYSDATE,'YYYY'))
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 13h35   #7
Invité régulier
 
Inscription : avril 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 23
Points : 6
Points : 6
Je suis pas dans l'editeur de requete.

Je suis dans designer. Et plus précisement j'essai de créer un objet.
Je veux pour mon objet poser une condition sur le champ annee de ma table pour que l'année soit égale à l'année en cours.
yalla3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 13h58   #8
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
j'ai un filtre prédéfini de ce genre dans un de mes univers.
il se présente ainsi :

Nom : Exercice en cours

where :

@Select(Calendrier Comptabilisation\Année Comptabilisation) = TO_NUMBER(TO_CHAR(SYSDATE,'YYYY'))

sysdate étant la date system sous oracle.
to_char permet d'extraire l'année en caractère.
to_number converti le caractère en numerique.

tu dois pouvoir trouver l'équivalent sous DB2.
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 14h06   #9
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
Pour récupérer la date courant sous DB2 il faut faire :
"SELECT current date FROM sysibm.sysdummy1"

mais si tu regardes dans la table en question, il n'y a pas de colonne current date, et donc comme BO ne peux ajouter des objets que s'ils ont une référence TABLE.CHAMPS, on ne peut donc pas (à ma connaissance) récupérer directement la date courante.
Car current date est un algorithme particulier non conjugable avec une autre table dans une requete !

(il est peut etre possible de récupérer la date du jour dans une liste de valeur en touchant le sql directement)

Je te conseille, si tu as une phase d'alimentation, de demander une table.colonne avec la date du jour (si le rechargement se fait quotidiennement comme souvent)

a+
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2008, 15h03   #10
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 29
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 29
Points : 10
Points : 10
Envoyer un message via Yahoo à ala1255
Autre possibilité sous db2 dans l'univers j'ai crée un objet dont la clausse select est current_date (sans lien avec une table)
ou year(current_date) pour avoir l'année du système
Attention : si on fait analyser il y aura une erreur car pas de table dans le from
Mais dans un document tester en C/S ceci focntionne car il y aura au mopins un autre objet qui lui sera liée à une table de la base
ala1255 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 11h21.


 
 
 
 
Partenaires

Hébergement Web