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

Oracle Discussion :

[Report6i]Séparateur décimal


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Par défaut [Report6i]Séparateur décimal
    Bonjour

    J'utilise Oracle Report 6i avec lequel je dois faire un report pour un projet.
    Mon chef de projet aimerait que tous les nombres à virgule puissent apparaitre avec une virgule (,) au lieu d'un point (.)

    --> 14.23 deviendrait 14,23

    Il se trouve que en fouillant un peu, j'ai découvert une commede qui permet de transformer les parametres d'une session.

    alter session set NLS_NUMERIC_CHARACTERS = ",." ;
    Je voudrais dès lors pourvoir l'insérer dans mon report pour qu'il me convertisse automatiquement mes nombres.

    J'ai donc penser le mettre dans un trigger mais, il refuse carrément d'insérer un "alter" dans une fonction. Idem pour les procédures ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE OR REPLACE PROCEDURE p_essai IS
    BEGIN
    alter session set NLS_NUMERIC_CHARACTERS = ",." ;
    END;
    --> refusé


    Quelqu'un aurait une idée pour moi?
    Cette solution m'éviterait de modifier tous mes quérries (7) et de les mettre à ralonge.

    Merci de votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Essayez le SQL dynamique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE OR REPLACE PROCEDURE p_essai IS
    BEGIN
    EXECUTE IMMEDIATE ' alter session set NLS_NUMERIC_CHARACTERS = ",." '
    END;
    Pour plus de détail: http://sheikyerbouti.developpez.com/execute_immediate/

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Par défaut
    oui, le code est accepté mais ca ne fonctionne pas pour autant ...
    J'avais essayé cette commande en plus mais sans les ' ' ... faut le savoir!

    pour y arriver, il faut mettre un parametre dans le DECIMAL (parametre systeme du report) avec une valeur initiale : ,

    Ensuite mettre le champ avec un format : NNN NNN NNN,NN

    Et hop, par magie, j'ai des virgules à la place des points...

    Mais le jour où on me demande, via un parametre, de mettre des points ou des virgules, je suis pas bien ...

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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