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

Macro Discussion :

[Macro] Problème avec variable sous Mainframe


Sujet :

Macro

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut [Macro] Problème avec variable sous Mainframe
    Bonjour à tous,

    Voici mon petit problème, dans le code suivant :

    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
    24
    25
    26
    27
    28
    29
    %macro recherche ;
    %DO I = 1 %to 2 ;
     
    proc sql;
    select GBK_VLG_NR into :rek
    from work.compteur_resp
    where compte_id = &I ;
    quit;
     
    proc sql;
    connect to DB2;
    create table fiche_&rek as
    select * from connection to db2
    (
    SELECT gbk_vlg_nr
    FROM CERA.CEVBHI11
    WHERE STAD_KD= '1'
    AND GBK_VLG_NR = "&rek" 
    );
     
    proc download data=work.fiche_&rek out=work.fiche_&rek status=N;
    run;
     
    %END ;
    %mend ;
    %recherche ;
     
    endrsubmit;
    quit;
    Voici le message d'erreur reçu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ERROR: View selection criteria or where clause is not valid.
    NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.
    NOTE: The SAS System stopped processing this step because of errors.
    et l'erreur vient de la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND GBK_VLG_NR = "&rek"
    Sûrement un petit problème d'écriture.

    D'avance merci à tous

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Le souci vient du SQL de DB2, qui (je suppose) réagit comme celui d'Oracle : les chaînes de caractères doivent être entre guillemets simples (apostrophes). Mais si on écrit GBK_VLG_NR = '&rek' il va y avoir un autre souci : le compilateur macro de SAS n'interviendra plus.
    La solution : garder des apostrophes, mais les masquer au compilateur macro avec la fonction %STR(%') ; les quotes apparaissent dans le code exécuté (transmis à DB2) mais le &REK peut être interprété et remplacé côté SAS.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GBK_VLG_NR = %STR(%')&rek%STR(%')
    Olivier

  3. #3
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Un tout tout grand merci
    Hello Olivier,

    Explication très claire et précise.

    Ta solution fonctionne à merveille.

    Salutations et encore merci

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

Discussions similaires

  1. [MySQL] Problème avec variables de session PHP sous safari
    Par tomguiss dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/10/2010, 13h24
  2. problème avec variable macro
    Par azerty111 dans le forum Macro
    Réponses: 1
    Dernier message: 28/01/2010, 09h52
  3. Problème requête avec variables sous forms
    Par mikeOSX dans le forum Forms
    Réponses: 4
    Dernier message: 20/06/2008, 14h48
  4. Problème avec glutFullScreen() sous linux...
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 29/11/2004, 11h30
  5. Problème avec CopyDir sous D5
    Par Houben Jacques dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 22h02

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