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

Designer Discussion :

[BO 5.1] Problème fonctions date


Sujet :

Designer

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 16
    Points
    16
    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.

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 84
    Points : 97
    Points
    97
    Par défaut
    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)

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    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?

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 84
    Points : 97
    Points
    97
    Par défaut
    la fonction annee renvoie un numerique !

    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 ?

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    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

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 84
    Points : 97
    Points
    97
    Par défaut
    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'))

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    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.

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 84
    Points : 97
    Points
    97
    Par défaut
    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.

  9. #9
    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
    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 ~

    Consultant BI

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    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

Discussions similaires

  1. [XL-2007] Problème fonction "DATE" dans "calendrier perpétuel"
    Par ATLONIA dans le forum Excel
    Réponses: 4
    Dernier message: 23/11/2014, 18h30
  2. [WD-MAC 2011] Problème fonction Date VBA Word
    Par calimhiro dans le forum VBA Word
    Réponses: 3
    Dernier message: 30/12/2012, 14h20
  3. [AC-2003] Problème fonction Date() / Référence PDF Creator.
    Par Richard_35 dans le forum Access
    Réponses: 29
    Dernier message: 05/05/2010, 10h40
  4. [Dates] problème fonction date
    Par tawba dans le forum Langage
    Réponses: 5
    Dernier message: 05/01/2009, 16h45
  5. [Vba-E]Problème fonction Date
    Par stargates dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/05/2007, 10h01

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