|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 23 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 84 ![]() |
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) |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 23 ![]() |
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? |
|
|
00
|
|
|
#4 | |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 84 ![]() |
Citation:
Dans BO 6.5 en français annee marche très bien . est ce que tu peux donner le message d'erreur exact ? |
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 23 ![]() |
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 |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 84 ![]() |
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')) |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 23 ![]() |
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. |
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 84 ![]() |
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. |
|
|
00
|
|
|
#9 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
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+ |
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() |
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com