You didn't submit the code you posted.
You said the program included this line:
did=dopen("myDir") ;
But the SAS log shows this line
30 did=dopen(myDir) ;
Can you see the difference?
Also define your variables before using them, otherwise SAS will just guess how you want them defined by how they are first used in the code.
Also to test the extension on a file scan from right to left. Otherwise you will get the wrong answer for filenames that include periods in them. Also if your statements take more than on one line indent the secondary lines otherwise it is difficult for humans to review the code.
if lowcase(scan(filename,-1,"."))="csv" then
filename= &ruta. || filename
;
... View more