* replace with installed location of ppbS; %let ppbs = I:\vcProjects\ppbS\Release\ppbS.exe; data _null_; rc = modulen("WinExec","&ppbs Create ""SAS is working on it""",0); rc = modulen("WinExec","&ppbs SetText 1 ""Reading VSLIB"" crawltopos 1 20",0); run; data _null_; set SASHELP.VSLIB; run; data _null_; rc = modulen("WinExec","&ppbs SetText 1 ""Reading VSTABLE"" setpos 1 20 crawltopos 1 40",0); run; data _null_; set SASHELP.VSTABLE; run; data _null_; rc = modulen("WinExec","&ppbs SetText 1 ""Reading VMEMBER"" setpos 1 40 crawltopos 1 60",0); run; data _null_; set SASHELP.VMEMBER; run; data _null_; rc = modulen("WinExec","&ppbs SetText 1 ""Reading VCATALG"" setpos 1 60 crawltopos 1 80",0); run; data _null_; set SASHELP.VMEMBER; run; data _null_; rc = modulen("WinExec","&ppbs SetText 1 ""Reading VCOLUMN"" setpos 1 80 crawltopos 1 100",0); run; data _null_; set SASHELP.VCOLUMN; run; data _null_; rc = modulen("WinExec","&ppbs Shutdown",0); run; ** a longer running example; data _null_; loops = 2e6; updates = 20; command = "destroy 1 create ""Looping " || trim(left(put(loops,comma15.))) || " times"""; rc = modulen("WinExec","&ppbs " || command,0); rc = modulen("WinExec","&ppbs showpct 1 yes",0); updaten = loops/updates; do i = 0 to loops; if mod (i,updaten) = 0 then do; command = "setpos 1 " || put(i/loops*100,3.) || " crawltopos 1 " || put(i/loops*100+100/updates,3.); rc = modulen("WinExec","&ppbs " || command,0); end; end; rc = modulen("WinExec","&ppbs shutdown",0); run;
You can learn more about SAS at http://www.sas.com.
SAS® software is a registered trademark of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. SAS Institute Inc. is located at SAS Campus Drive, Cary, North Carolina 27513.