Why do you need to complicate matters by introducing a macro invocation, presuming that you have SAS DATA step code in your program file \\technology\AMLogo.sas -- especially the lack of SAS statement numbers when using macros.
A simple DO; / END; construct surrounding your %INCLUDE statement makes it oh so very simple and easier to maintain, debug, and understand.
What's unclear - at least to me - is what type of SAS code is in your %INCLUDE file?
Also, the very powerful RESOLVE DATA step function may be the ticket if you in fact have code that must be compiled on the fly as part of the DATA step processing. Here is an example:
1 %macro echoinfo;
2 %global mystatus;
3 %put right now, macro var mystatus is: &mystatus;
4 %mend echoinfo;
5 data _null_;
6 call symput('mystatus','I am executing inside this DATA step!');
7 x = resolve('%echoinfo');
8 run;
right now, macro var mystatus is: I am executing inside this DATA step!
NOTE: DATA statement used (Total process time):
real time 0.03 seconds
cpu time 0.01 second
Scott Barry
SBBWorks, Inc.