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

Deski Discussion :

[BO XI r2] instructions CASE imbriquées


Sujet :

Deski

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 33
    Points : 39
    Points
    39
    Par défaut [BO XI r2] instructions CASE imbriquées
    bonjour,

    j'essaie de créer une variable dans le designer dont la formule est du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CASE WHEN condition 1
            THEN CASE condition2 
                    THEN definition 1 
                    ELSE definition 2
                    END
            ELSE definition 3
    ...
    à un petit niveau d'imbrication, j'obtiens les résultats attendus mais à plus grand niveau, j'ai l'impression que les premières conditions posées ne sont plus respectées. j'ai pourtant bien vérifier la syntaxe, il n'y a pas d'erreur.

    Je me demande donc s'il existe une limite d'imbrication dans BO (ou Oracle). Merci d'éclairer ma lanterne sur ce sujet.

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Dans Oracle pas que je sache et dans BO ça m'étonnerait. Combien de niveaux d'imbrication ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    idéalement 3 ou 4

  4. #4
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    SELECT
    CASE
    WHEN 1=1 THEN
      CASE
      WHEN 1=1 THEN
        CASE
        WHEN 1=1 THEN
          CASE
          WHEN 1=1 THEN
          'Niveau 4 ok'
          ELSE
          'Niveau 4 pas ok'
          END
        ELSE
        'Niveau 3 pas ok'
        END
      ELSE
      'Niveau 2 pas ok'
      END
    ELSE
    'Niveau 1 pas ok'
    END
    FROM DUAL
    Je ne pense donc pas que le problème vienne d'Oracle. Je n'ai pas la XIR2 mais en 5 ça marche bien.

    Essaye de définir un objet avec le code au dessus et regarde ce que ça donne. Sinon essaye de remplacer tes conditions par 1=1 et regarde ce que ça donne. Sinon poste le code on va voir.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    merci de t'etre intéressé à mon problème nuke_y.

    en fait le problème ne viens pas des imbrications de CASE mais plutot d'une de mes conditions qui était mal interprétée.

    en effet, j'ai tenté un CASE WHEN cond1 AND cond2 qui ne déclenchait pas d'erreur d'analyse mais le résultat ne tient pas compte de cond 2...dommage, ça va me faire un niveau d'imbrication de CASE en plus

    merci encore

  6. #6
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bah c'est pas grave puisque tu n'es pas limité en nombre de niveaux

    Sinon n'oubli pas le bouton Résolu.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    Ok, en fait on peut parfaitement intégrer des OR ou des AND dans les conditions du CASE. mon problème venait d'une valeur nulle qui s'était cachée et qui faisait que ma condition AND n'était pas respectée !

  8. #8
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    He he la vilaine.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/04/2016, 17h33
  2. instruction CASE avec SQL Server
    Par Andry dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/03/2007, 14h56
  3. [t-sql] instruction CASE dans clause WHERE
    Par ignitionflip dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/01/2007, 19h07
  4. [SQL] : instruction CASE buggé ?
    Par PpPool dans le forum Oracle
    Réponses: 2
    Dernier message: 20/11/2005, 15h51
  5. Question sur instruction With imbriquée
    Par LadyWasky dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/10/2005, 12h26

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