Duck-Hye Yang <dyang@CHAPINHALL.ORG> wrote:
> I am Unix user.
> I tried to run an application inside SAS.
> I need to use the output from the application in a subsequent SAS run.
> I need to hold the subsequent SAS run until runing the application is
> The problem is that when I tried to run together, the subsequent SAS
program always picked up incomplete output.
> It seems like two applications are running simulatenously.
First off, do you really need to run an external process, or would
it be easier to do that part of the work in SAS as well? (Just a
thought, so you wouldn't have to worry about synchronicity.)
Second, depending on the application you are running, you can often
use FILENAME PIPE to pipe the results into a SAS data set as the
external process generates output. Then you don't have to worry about
the timing issue.
Mark has sagely told you about such options as XSYNC if you use the
X command. XSYNC|XWAIT|NOXSYNC|NOXWAIT also affect the synchronicity
if you use CALLSYSTEM() or %SYSEXEC as well.
You might also consider using a separate program to control the
of both the SAS process and the external process. I recommend using
Perl for this, although others might suggest Python or tcl. I do not
recommend using JAVA for this, since the non-Solaris unix implentations
Java seem to need some work.
David Cassell, CSC
Senior computing specialist