Date: Mon, 29 Oct 2001 12:55:25 -0800
Reply-To: Andrew Bushmakin <abushmakin@ARGOSE.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Andrew Bushmakin <abushmakin@ARGOSE.COM>
Organization: http://groups.google.com/
Subject: Re: Program flow control question (SCL)?
Content-Type: text/plain; charset=ISO-8859-1
I putted submit block in INIT section and worked for me.
1) Create Form and put Textlabel object (Textlabel1)
2) Code will be:
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
Init:
Textlabel1.label="Start";
Submit Continue;
Data a;
Do i=1 To 1000000;
a=sin(i);
output;
End;
Run;
EndSubmit;
Textlabel1.label="End";
Return;
Main:
Return;
Term:
Return;
3) Compile and run: you should see first “Start” then
(after some time) “End”
Andrew
"Richard DeVenezia" <radevenz@ix.netcom.com> wrote in message news:<9rakf8$alc$1@slb2.atl.mindspring.net>...
> You could try using a refresh; statement before the submit continue.
>
> You might also be able to move the submit continue block out of the program
> entry altogether.
> Since the program entry apparently is only for displaying a message window
> while the SAS code executes, you can move the code into a macro, and place
> that in a source entry or operating system file. In the macro use a %window
> to display the message and pertinent parameter values.
> A %display windowname noinput; statement will show the window while the
> macro is in running and upon %mend, the window will disappear.
>
> example:
> assume the following is in work.arjen.foobar.source
> %macro foobar;
> %window info rows=10 columns=50
> #1@1 "Here is some info while the code runs";
> %display info noinput;
>
> data _null_;
> do i = 1 to 1e8;
> end;
> run;
> %mend;
> %foobar;
>
> then submitting this will give you an idea of what to expect
>
> filename sascode catalog 'work.arjen.foobar.source';
> %include sascode;
> filename sascode;
>
> --
> Richard DeVenezia - SAS Macros and AF Tools
> http://www.devenezia.com
>
> "Arjen Raateland" <Arjen.Raateland@vyh.fi> wrote in message
> news:3BD7FD23.6330A4C3@vyh.fi...
> > In redesigning an application the only stuff left in a particular
> > program display is some text, but no user input fields.
> > This Program entry is supposed to run a submit continue block. If I put
> > the submit block in the MAIN section, the window is displayed, but the
> > code is never run, because there is no input from the user.
> > If I put the code in the INIT section, the code is run, but the window
> > only appears after the code has run, which is useless.
> >
> > Is there a simple way to have the window show first and only then have
> > the submit block execute automatically, preferably without an extra
> > subordinate SCL entry containing only the submit block?
> >
> > BTW, actually I close the window with EXECCMD('End') immediately after
> > the code has run. The program entry also returns a message text to the
> > calling entry, hence the choice of SUBMIT CONTINUE.
> >
> > TIA,
> > --
> > Arjen Raateland
> > Finnish Environment Institute
> > SAS Support
> > phone +358 9 4030 0350
|