I have four of these data steps in the program.
I have already done that last week.
[pre]
data _null_;
length s_where s_title $64 test_path base_path $128 statement $250;
set things;
test_path = "&base_path\" || trim(left(node_name)) ;
if not fileexist(test_path) then base_path = dcreate(node_name, "&base_path");
else base_path = test_path;
if base_path > " " then do;
test_path = cats(base_path,'\',intrf_name);
if not fileexist(test_path) then base_path = dcreate(intrf_name, base_path);
else base_path = test_path;
if base_path > " " then do;
s_where = 'node_name = "' || trim(left(node_name)) || '" and intrf_name = "' || trim(left(intrf_name)) || '"';
s_title = 'In Packets for '||trim(left(intrf_name)) || ' on ' || trim(left(node_name));
statement = cats( '%superq(make_chart)(combined,' , "'" , s_where , "'" , ',inpkts,in_packets,' , s_title , ',' , base_path , ')' );
call execute(statement);
end;
end;
run;
quit;
[/pre]
Apparently you don't believe me that the my code is not the problem.
I began programming in 1977.
I began SAS programming in 1996.
While it is true that I am always learning, this is not the first time that I have found problems in a vendor's product -- bugs in Novell, C compilers, OS's (Solaris) and within the last 12 months, some bugs in SAS itself (Proc Robustreg).
So my question is if my fellow expert SAS programmers have run into limitations involving call execute before, what were they, and how did they get around them.
I am not asking how to "debug" my program, because that is not the problem. I know how to debug programs. I am generally also debugging other people's programs in addition to my own -- I know I'm not perfect, never have been, never will be.