Création physique de bibliothèque mais pas logique
Bonjour,
Tout d'abord, voici ce que je souhaite faire :
- Créer un répertoire physique
- L'assigner à une librairie
- Et copier des tables dans cette librairie
Et le code correspondant :
Code:
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
|
/* Paramètres */
%let chemin = &racine.\01_DONNEES\SAS\SAUVEGARDE_HISTORISATION\&date_fichier.;
/* Création du répertoire physique */
option noxwait noxsync;
data _null_;
x "mkdir &chemin.";
run;
/* Définition des librairies */
libname source "&racine.\01_DONNEES\SAS\SOURCE" ;
libname travail "&racine.\01_DONNEES\SAS\TRAVAIL" ;
libname ciblage "&racine.\01_DONNEES\SAS\CIBLAGE" ;
/*Librairie pour sauvegarder les tables historisées existantes */
libname svg_hist "&chemin.";
/* Sauvegarde des fichiers à historiser dans la librairie définie ci-dessus */
proc copy in=source out=svg_hist;
select table1
table2
table3;
run; |
Le problème est le suivant : le répertoire physique est bien créé mais parfois SAS m'indique la bibliothèque SVG_HIST n'existe pas, ce qui engendre parfois une erreur dans la copie des tables (aucune n'est copiée ou certaines d'entre elles).
J'ai pensé que cela était lié à la syntaxe du data permettant de créer le répertoire physique, j'ai ajouté des guillemets à savoir x "mkdir &chemin."; au lieu de x mkdir &chemin.; mais rien n'y fait. Je me retourne donc vers votre aide.
Merci !