unload update

"To unload additional required SAS packages execute"
This commit is contained in:
yabwon
2019-11-06 21:31:23 +01:00
parent b72b8211a0
commit fac0142601
4 changed files with 35 additions and 9 deletions

View File

@@ -346,6 +346,15 @@ title3 "Package's encoding: '&packageEncoding.', session's encoding: '&SYSENCODI
title4 " ______________________________ "; title4 " ______________________________ ";
title5 "List of files for package: &packageName. (version &packageVersion.), license: &packageLicense."; title5 "List of files for package: &packageName. (version &packageVersion.), license: &packageLicense.";
title6 "MD5 hashed fileref of package lowcase name: &_PackageFileref_."; title6 "MD5 hashed fileref of package lowcase name: &_PackageFileref_.";
%if (%bquote(&packageRequired.) ne )
or (%bquote(&packageReqPackages.) ne )
%then
%do;
title7 "Required SAS licences: %qsysfunc(compress(%bquote(&packageRequired.), %str(%'%")))" ; /* ' */
title8 "Required SAS packages: %qsysfunc(compress(%bquote(&packageReqPackages.),%str(%'%")))" ; /* " */
%end;
proc print data = &filesWithCodes.(drop=base); proc print data = &filesWithCodes.(drop=base);
run; run;
title; title;
@@ -849,9 +858,26 @@ data _null_;
end; end;
put "run;" /; put "run;" /;
%if %bquote(&packageReqPackages.) ne %then
%do;
length packageReqPackages $ 32767;
packageReqPackages = lowcase(symget('packageReqPackages'));
/* try to load required packages */
put 'data _null_ ; ';
put ' length req name $ 64; ';
put ' put "NOTE-" / "NOTE: To unload additional required SAS packages execute: " / "NOTE-"; ';
put ' do req = ' / packageReqPackages / ' ; ';
put ' name = strip(scan(req, 1, " ")); ';
put ' put ''NOTE- %unloadPackage( '' name ")" ; ';
put ' end ; ';
put ' put "NOTE-" / "NOTE-"; stop; ';
put 'run; ';
%end;
/* update SYSloadedPackages global macrovariable */ /* update SYSloadedPackages global macrovariable */
put ' data _null_ ; '; put ' data _null_ ; ';
put ' length SYSloadedPackages $ 32767; '; put ' length SYSloadedPackages $ 32767; ';
put ' if SYMEXIST("SYSloadedPackages") = 1 and SYMGLOBL("SYSloadedPackages") = 1 then '; put ' if SYMEXIST("SYSloadedPackages") = 1 and SYMGLOBL("SYSloadedPackages") = 1 then ';
put ' do; '; put ' do; ';
put ' do until(EOF); '; put ' do until(EOF); ';
@@ -1078,7 +1104,7 @@ TODO:
- dodac typ "clear" do czyszczenia po plikach 'exec' [v] - dodac typ "clear" do czyszczenia po plikach 'exec' [v]
- doadc sprawdzanie liczby wywołan procedury fcmp, format i slowa '%macro(' w plikach z kodami - doadc sprawdzanie liczby wywołan procedury fcmp, format i slowa '%macro(' w plikach z kodami [ ]
- syspackages - makrozmienna z lista zaladowanych pakietow [v] as SYSloadedPackages - syspackages - makrozmienna z lista zaladowanych pakietow [v] as SYSloadedPackages
@@ -1090,7 +1116,9 @@ TODO:
-weryfikacja nadpisywania makr [ ] -weryfikacja nadpisywania makr [ ]
-add MD5(&packageName.) value hash instead "package" word in filenames [ ] -add MD5(&packageName.) value hash instead "package" word in filenames [v]
-infolista o required packahes w unloadPackage [ ]
*/ */
/* /*

View File

@@ -1,8 +1,8 @@
/*** HELP START ***/ /*** HELP START ***/
/**############################################################################**/ /**############################################################################**/
/* */ /* */
/* Copyright Bartosz Jablonski, July 2019. */ /* Copyright Bartosz Jablonski, July 2019. */
/* */ /* */
/* Code is free and open source. If you want - you can use it. */ /* Code is free and open source. If you want - you can use it. */
/* I tested it the best I could */ /* I tested it the best I could */
@@ -50,9 +50,7 @@
*/ */
/*** HELP END ***/ /*** HELP END ***/
/* TODO:
- add MD5(&packageName.) value hash instead "package" word in filenames []
*/
%macro listPackages(); %macro listPackages();

View File

@@ -45,7 +45,7 @@
/* /*
TODO: TODO:
- macro for testing available packages in the packages' folder [DONE] checkout: %listPackages() - macro for testing available packages in the packages' folder [DONE] checkout: %listPackages()
- add MD5(&packageName.) value hash instead "package" word in filenames [] - add MD5(&packageName.) value hash instead "package" word in filenames [DONE]
*/ */
/*** HELP END ***/ /*** HELP END ***/