Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Macro
Macro Forum d'entraide sur le langage Macro de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2011, 10h57   #1
Membre habitué
 
Homme Julien
Ingénieur d'études / Biostatisticien
Inscription : décembre 2009
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études / Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2009
Messages : 304
Points : 101
Points : 101
Par défaut Créer un répertoire : fonction DCREATE

Bonjour, en voulant créer un répertoire depuis SAS implanté sur l'un des serveurs de ma boîte, je tape le code suivant:

Code :
 %SYSFUNC(DCREATE(TEST, /home/public/));
Il créé bien le répertoire à ceci prés qu'il me renvoit également le message d'erreur suivant:

Code :
1
2
3
4
5
6
 
 %SYSFUNC(DCREATE(TEST, /home/public/));
 /home/public/TEST
 _
 180
ERROR 180-322: Statement IS NOT valid OR it IS used out of proper ORDER.
Alors je me dis que ça vient du fait que SAS s'attend déjà à un certain format pour lui entrer le chemin d'accés, mais vue qu'il créé quand même le répertoire que je souhaite... en fait mon souci c'est que j'aimerais me débarrasser de ce message d'erreur qui peut masquer une vraie erreur intervenue au cours de l'utilisation de ma macro. Et comme cette dernière me renvoit des rapports d'un trés grand nombre de lignes (malgré les options pour déblayer), j'aimerais éviter d'avoir à vérifier ma log à chaque fois et non uniquement quand j'ai une vraie erreur.

En vous remerciant d'avance .
joyeux_lapin13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h23   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
Code :
1
2
 
%SYSFUNC(DCREATE(TEST, '/home/public/'));
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h27   #3
Membre habitué
 
Homme Julien
Ingénieur d'études / Biostatisticien
Inscription : décembre 2009
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études / Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2009
Messages : 304
Points : 101
Points : 101
Il ne se passe rien quand je rajoute les guillements...
joyeux_lapin13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h40   #4
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
à ta place je ferai ça :
Code :
1
2
3
 
 
x 'mkdir /home/public/TEST';
l'avantage avec les commande système, c'est qu'on peut créer des rep recursif. unix avec l'option -p .

ps: si t'es sur SASEG, vérifie que ton administrateur a bien activé la commande X.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h11   #5
Membre habitué
 
Homme Julien
Ingénieur d'études / Biostatisticien
Inscription : décembre 2009
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études / Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2009
Messages : 304
Points : 101
Points : 101
Merci sam, je vais regarder avec mon admin de suite .
joyeux_lapin13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h32   #6
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
dslé, j'ai corrigé le programme plus haut(j'ai oubliè les quotes).
sinon t'as les variante.
Code :
1
2
3
4
5
6
7
8
9
10
11
 
 
%sysexec mkdir ~/test1;
 
x  'mkdir ~/test2';
 
DATA _null_;
call system ('mkdir ~/test3');
run;
 
systask command "mkdir ~/test4";
sinon pour savoir si x commande est active :
Code :
1
2
3
 
proc options OPTION=xcmd;
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 13h31   #7
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Pour info, le problème initial survient de ce que DCREATE renvoie un résultat à SAS : le chemin complet du répertoire créé.
Il faudrait écrire quelque chose comme :
Code :
%PUT création de %SYSFUNC(DCREATE(TEST, /home/public/));
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 11h12   #8
Membre habitué
 
Homme Julien
Ingénieur d'études / Biostatisticien
Inscription : décembre 2009
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études / Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2009
Messages : 304
Points : 101
Points : 101
En effet ça marche parfaitement désormais lol! Merci Olivier et s_a_m!
joyeux_lapin13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h47.


 
 
 
 
Partenaires

Hébergement Web