I have inherited a complex macro structure which nested loops used to work fine with 70 iterations of the outermost loop.
Now I have 86 iterations and sas colapses (I/O -erros) after 20 iterations.
I solve this in only executing 15 iterations at a time:
%loopy_a(beginloop=1, endloop= 5,libi = VALI_OOS);
%put xxxxx '6 - > 10';
%loopy_a(beginloop=6, endloop= 10,libi = VALI_OOS);
%put xxxxx '11 - > 15';
%loopy_a(beginloop=11, endloop= 15,libi = VALI_OOS);
%put xxxxx '16 - > 20';
%loopy_a(beginloop=16, endloop= 20,libi = VALI_OOS);
%put xxxxx '21 - > 25';
%loopy_a(beginloop=21, endloop= 25,libi = VALI_OOS);
%put xxxxx '26 - > 30';
%loopy_a(beginloop=26, endloop= 30,libi = VALI_OOS);
%put xxxxx '31 - > 35';
%loopy_a(beginloop=31, endloop= 35,libi = VALI_OOS);
%put xxxxx '36 - > 40';
%loopy_a(beginloop=36, endloop= 40,libi = VALI_OOS);
This solution is all but elegant. I would very much prefer to execute loopy_a from begin_loop =1 to end_loop = 86 at a time.
I suspect the amount of data handled is not the problem, but the looped expansion of the macro structure.
Is there a way to get around this? Can I ask sas somehow not to expand the macro structure? Or am I having another problem?
... View more