Hi SAS folks, I am trying to create a catalog (sas7bcat file) named "vdt_test" which shell have a compiled macro in it called "get_info". When running the following code: %LET PGname_in = getinfomacro;
%LET PGNname_in_cat = get_info ;
%LET catname = vdt_test;
%LET entrytype = MACRO;
libname _catloc base "/sas/sources/catalogs/";
filename inputPG "/tmp/&PGname_in..sas" ;
data _null_;
file inputPG;
infile datalines delimiter="," truncover;
length line $1000.;
input line $;
put _infile_;
datalines4;
%MACRO get_info(p_Env= ,p_Uname= ,p_Macvarname=) / SECURE STORE ;
/* set scope for user-given macro variablen */
%IF %SYMEXIST(&p_Macvarname.) = 0 %THEN %DO;
%GLOBAL &p_Macvarname;
%END;
%ELSE %DO;
%PUT ERROR: Makrovariablenname "&p_Macvarname" bereits vergeben.;
%END;
%IF %UPCASE(&p_Env.) eq E %THEN %DO;
%IF %UPCASE(&p_Uname.) eq SASBATCH %THEN %LET &p_Macvarname. = Tokenstring1;
%IF %UPCASE(&p_Uname.) eq SASTOKEN %THEN %LET &p_Macvarname. = Tokenstring2;
%END;
%IF %UPCASE(&p_Env.) eq T %THEN %DO;
%IF %UPCASE(&p_Uname.) eq SASBATCH %THEN %LET &p_Macvarname. = Tokenstring3;
%IF %UPCASE(&p_Uname.) eq SASTOKEN %THEN %LET &p_Macvarname. = Tokenstring4;
%END;
%IF %UPCASE(&p_Env.) eq P %THEN %DO;
%IF %UPCASE(&p_Uname.) eq SASBATCH %THEN %LET &p_Macvarname. = Tokenstring5;
%IF %UPCASE(&p_Uname.) eq SASTOKEN %THEN %LET &p_Macvarname. = Tokenstring6;
%END;
%IF %UPCASE(&p_Env.) eq AD %THEN %DO;
%IF %UPCASE(&p_Uname.) eq %STR($SASBATCH) %THEN %LET &p_Macvarname. = Tokenstring7;
%END;
%MEND;
;;;;
run;
data _null_ ;
filename mycat catalog "_catloc.&catname." lrecl= 256 ;
file mycat("&PGNname_in_cat..&entrytype.") ;
infile inputPG;
input ;
put _infile_ ;
run ;
proc catalog CATALOG= _catloc.&catname. ;
contents ;
run;
quit ; I get this ERROR message: ERROR: Output mode is only supported for catalog entry types of SOURCE, LOG, OUTPUT, HTML, JPEG, GIF, CSS, WML, XML, XSL, RTF, PDF, PS, CSV, JS, VBS, JAR, CATAMS, HPFPROJ, HPFDATA, HPFEVENT, HPFDIAG, HPFSPEC, HPFLIST, HPFSCORE, PNG, and HPF1-HPF10. Here is my question: why the heck is it not possible to name a catalog which contains a compiled macro other than "SASMACR", which is the name given automatically by the system when just running the "%MACRO" step with the options "store" and "secure"? Any help would be highly appreaciated, FK21
... View more