Date: Wed, 17 Jan 2001 22:29:22 -0500
Reply-To: Richard DeVenezia <radevenz@IX.NETCOM.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Richard DeVenezia <radevenz@IX.NETCOM.COM>
Organization: MindSpring Enterprises
Subject: Re: Retrieving Index information by SCL
I would like to welcome you to SAS-L, I'm sure you'll have plenty to
I tried your example and confirmed for myself that it worked, but only when
as an SCL entry.
The example code you posted does NOT work when the SCL is for a frame entry,
and the frame entry is run with PROC DISPLAY.
The answer will then depend on what Walter's context is. If he is running a
frame entry with DISPLAY he has to resort to a complicated solution. If
running an scl entry, the 'intuitive' solution now works.
Richard DeVenezia - SAS Macros and AF Tools
"Don Henderson" <donald.j.henderson@US.PWCGLOBAL.COM> wrote in message
> Greetings to the SAS-L community. I have been one of those birdie's to
> of you. Am now in the position of posting directly, having recently left
> SAS after nearly 12 years there. No more lurking for me :-).
> Richard's point about submitted code in PROC DISPLAY not running until
> after DISPLAY completes was certainly true in V6. But in V8, PROC DISPLAY
> can submit SAS code, do some SCL, submit more SAS code, etc.
> I confirmed this with one of my "little birdie's" at SAS and he confirmed
> it by sending me a little sample. Have included both the SCL code and the
> log so you can see the timing.
> Glad to join the SAS-L community :-).
> -Don Henderson
> code follows:
> control asis;
> submit continue;
> data work.test;
> do i = 1 to 10;
> dsID = open('work.test', 'I');
> put 'Opening WORK.TEST' dsID=;
> nLevel = 0;
> list = makelist();
> rc = lvarlevel(dsid, 'I', nLevel, list);
> put 'Getting values from data set' rc=;
> call putlist(list, 'Values of variable I: ', 0);
> rc = close(dsid);
> submit continue;
> proc datasets library=work memtype=data nolist;
> delete test;
> run; quit;
> and here is a copy of the LOG:
> 1 proc display c=sasuser.temp.don1.scl; run;
> 2 data work.test;
> 3 do i = 1 to 10;
> 4 output;
> 5 end;
> 6 run;
> NOTE: The data set WORK.TEST has 10 observations and 1 variables.
> NOTE: DATA statement used:
> real time 0.07 seconds
> cpu time 0.05 seconds
> Opening WORK.TEST dsID=1
> Getting values from data set rc=0
> Values of variable I: (' 10'
> ' 9'
> ' 8'
> ' 7'
> ' 6'
> ' 5'
> ' 4'
> ' 3'
> ' 2'
> ' 1'
> 7 proc datasets library=work memtype=data nolist;
> 8 delete test;
> 9 run;
> NOTE: Deleting WORK.TEST (memtype=DATA).
> 9 ! quit;
> NOTE: PROCEDURE DATASETS used:
> real time 0.37 seconds
> cpu time 0.22 seconds
> NOTE: PROCEDURE DISPLAY used:
> real time 0.86 seconds
> cpu time 0.09 seconds
> Richard DeVenezia <radevenz@IX.NETCOM.COM> on 01/17/2001 12:41:13 AM
> Please respond to Richard DeVenezia <radevenz@IX.NETCOM.COM>
> To: SAS-L@LISTSERV.UGA.EDU
> Subject: Re: Retrieving Index information by SCL
> This is some serious ping pong...