Toutes les données et les contenus de fichiers utilisés par le script sont générés en interne. Les étapes DATA _NULL_ avec des instructions PUT créent dynamiquement le contenu textuel, et une étape DATA standard crée un jeu de données de test. Aucune source de données externe n'est requise.
1 Bloc de code
DATA STEP Data
Explication : Test 1 : Crée un fichier texte simple. Une étape DATA _NULL_ écrit une chaîne de caractères dans un fileref temporaire, qui est ensuite utilisé par `%mv_createfile` pour créer un fichier .txt. `%mp_assert` valide que le fichier existe bien sur le serveur.
Copié !
options mprint;
%let file=%mf_uid();
%put TEST 1 - basic file upload ;
filename somefile temp;
data _null_;
file somefile;
put 'hello testings';
run;
%mp_assertscope(SNAPSHOT)
%mv_createfile(path=&mcTestAppLoc, name=&file..txt,inref=somefile,mdebug=1)
%mp_assertscope(COMPARE
,ignorelist=MCLIB0_JADP1LEN MCLIB0_JADP2LEN MCLIB0_JADPNUM
MCLIB0_JADVLEN MCLIB2_JADP1LEN
SASJSPROCESSMODE SASJS_STPSRV_HEADER_LOC
MCLIB2_JADP2LEN MCLIB2_JADPNUM MCLIB2_JADVLEN
)
%mp_assert(
iftrue=(%mfv_existfile(&mcTestAppLoc/&file..txt)=1),
desc=Check if created file exists
)
Explication : Test 2 : Crée un fichier HTML. Le contenu HTML est généré dans un fileref temporaire et la macro `%mv_createfile` le transforme en fichier `test.html` sur le serveur.
Copié !
%put TEST 2 - html file;
filename f2 temp;
data _null_;
file f2;
put '<html><body><p>Hello world</p></body></html>';
run;
%mv_createfile(path=&mcTestAppLoc, name=test.html,inref=f2,mdebug=1)
%mp_assert(
iftrue=(%mfv_existfile(&mcTestAppLoc/test.html)=1),
desc=Check if created file exists
)
1
%put TEST 2 - html file;
2
filename f2 temp;
3
DATA _null_;
4
file f2;
5
put '<html><body><p>Hello world</p></body></html>';
Explication : Test 3 : Téléverse un jeu de données SAS. Un jeu de données est créé dans WORK, un fileref est pointé sur son fichier binaire `.sas7bdat`, puis `%mv_createfile` le copie sur le serveur.
Copié !
%put TEST 3 - dataset upload ;
data temp;
x=1;
run;
filename ds "%sysfunc(pathname(work))/temp.sas7bdat";
%mv_createfile(path=&mcTestAppLoc, name=&file..sas7bdat,inref=ds,mdebug=1)
%mp_assert(
iftrue=(%mfv_existfile(&mcTestAppLoc/&file..sas7bdat)=1),
desc=Check if created dataset exists
)
Explication : Test 4 : Crée un fichier de programme SAS. Une commande SAS est écrite dans un fichier temporaire, qui est ensuite sauvegardé en tant que `test4.sas`.
Copié !
%put TEST 4 - create a .sas file;
filename f4 temp;
data _null_;
file f4;
put '%put hello FromSASStudioBailey; ';
run;
%mv_createfile(path=&mcTestAppLoc, name=test4.sas,inref=f4,mdebug=1)
%mp_assert(
iftrue=(%mfv_existfile(&mcTestAppLoc/test4.sas)=1),
desc=Check if created sas program exists
)
Explication : Test 5 : Copie un fichier en utilisant le service `filesrvc`. Un fileref lit le fichier `test4.sas` créé précédemment via `filesrvc`, et `%mv_createfile` l'utilise comme source pour créer un nouveau fichier `test5.sas`.
Copié !
%put TEST 5 - reading from files service and writing back;
filename sendfrom filesrvc folderpath="&mcTestAppLoc" filename='test4.sas';
OPTIONS MERROR SYMBOLGEN MLOGIC MPRINT;
%mv_createfile(path=&mcTestAppLoc,name=test5.sas,inref=sendfrom,mdebug=1) ;
1
%put TEST 5 - reading from files service and writing back;
Explication : Test 6 : Valide la fonctionnalité de recherche-remplacement. Un contenu est créé, puis `%mv_createfile` est appelée avec le paramètre `swap` pour substituer une chaîne de caractères. Le script lit ensuite le fichier résultant pour confirmer que la substitution a réussi.
Copié !
%put TEST 6 - try the find and replace;
filename f6 temp;
data _null_;
file f6;
put '//Hello world!';
put 'let var=/some/path/name;';
run;
%let in=/some/path/name;
%let out=/final/destination;
%mv_createfile(path=&mcTestAppLoc, name=test6.js,inref=f6,mdebug=1,swap=in out)
filename getback filesrvc folderpath="&mcTestAppLoc" filename='test6.js';
%let test6=0;
data _null_;
infile getback;
input;
if _infile_="let var=&out;" then call symputx('test6',1);
putlog _infile_;
run;
%mp_assert(
iftrue=(&test6=1),
desc=Check if find & replace worked
)
IF _infile_="let var=&out;"THEN call symputx('test6',1);
19
putlog _infile_;
20
RUN;
21
22
%mp_assert(
23
iftrue=(&test6=1),
24
desc=Check IF find & replace worked
25
)
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.