I have a stored process that is called from a VA stored process container. I have several radio buttons and dropdowns all working fine, but when I try to call a file, it will not render. I tried calling a second stored process that only contains the link to the file, but that did not work either. The message I keep getting is that the file does not exist. However when I cut and paste that file in the web browser, it will render.
I have tried using, what I thought would be the obvious answer:
%let stpname=/DCPS Departments/Quick Reports/Stored Processes/QR MS Scorecard sp;
%macro display_form;
data _NULL_;
file _webout;
put "<html>";
put " <head>";
put " <style media='screen' type='text/css'>";
put " .border {border-width: 1px; border-style: solid;}";
put "<INPUT TYPE='HIDDEN' NAME='_program' VALUE='&stpname'>";
---bunch of code here---
put " <input type='submit' value='Generate Excel File' class='generate_report' style='font-weight: bold; font-size: 20px'>";
stop;
run;
%mend;
%macro main;
---buch of code here---
%mend;
%main;
if you are returning a file from a stored process, you need to set the MIME type, eg as follows:
/* now serve zip file to client */
data _null_;
rc = stpsrv_header('Content-type','application/zip');
rc = stpsrv_header('Content-disposition',"attachment; filename=&table..zip");
run;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.