HDTenEightyP/NetNews huggingface dataset:
X-Delivery-Notice:  SMTP MAIL FROM does not correspond to sender.
Return-Path: rjf2@PHPDLS1.EM.CDC.GOV
Encoding: 76 TEXT
X-Mailer: Microsoft Mail V3.0 (beta-2)
Newsgroups: bit.listserv.sas-l
Date:         Wed, 18 Nov 1992 09:52:00 EST
Reply-To:     rjf2@PHPDLS1.EM.CDC.GOV
From:         rjf2@PHPDLS1.EM.CDC.GOV
Subject:      reading multiple input files

content      : Information
summary      : two versions of code to read list of files
rlse/platform: V6.07 / MVS
Ron Fehd     :                SMTP:BitNet:    <rjf2@phpdls1.em.cdc.gov>
              Centers for Disease Control
              1600 Clifton Rd  MS:G25         FAX  : 404/639-1778
              Atlanta, GA 30333  USA          phone: 404/639-1707

To whom it may concern:

There was a recent question about using a macro to read a series of files
where there was a problem because there were sequentially-named files
missing. I replied with a solution (not to the list, only to the questionner)
that used MVS's proc SOURCE to create SAS text to be %INCLUDEd which
could be used to read all the files.

Today's mail refered to the use of the FILEVAR= option on the infile
statement. Check page 387 of the SAS Language Reference V6, 1st Ed.

The point I wish to illustrate with the following code is that, whereas the
example uses cards to provide the NowRead variable, it is possible to create
an SSD with the var NowRead (e.g., using MVS's proc SOURCE).

//RJF2S    JOB (JC00,B43),FEHD,CLASS=E,TIME=(,10),MSGCLASS=0
//FILEVAR  EXEC SAS

FILENAME READTHIS 'RJF2.SAS.TOOLS';
*FILENAME READTHIS 'RJF2.SAS.TOOLS(FILEVAR)';

/* !*New*! and !*Improved*! **/

DATA NOWREAD;
  length NowRead $ 72;
  input  NowRead $;
cards;
RJF2.SAS.TOOLS(ALFA2NUM)
RJF2.SAS.TOOLS(BIORYR5)
RJF2.SAS.TOOLS(BIORYTHM)
;

DATA FILEVAR;
  set NOWREAD;/*has var   NowRead created in previous data-step*/
  infile READTHIS filevar=NowRead    end = EndoFile;
  do until(EndoFile);
    input @1 line $char72.;
    output;                                                         end;

proc PRINT;
 endSAS;

 /*Example from SAS Language, Reference, Version 6, First Edition, pg 387*/

DATA FILEVAR;
  length NowRead $ 72;
  input  NowRead $;/*from cards*/
  infile READTHIS  filevar=NowRead    end = EndoFile;
  do until(EndoFile);
    input @1 line $char72.;
    output;                                                         end;
cards;
RJF2.SAS.TOOLS(ALFA2NUM)
RJF2.SAS.TOOLS(BIORYR5)
RJF2.SAS.TOOLS(BIORYTHM)
;
proc PRINT;

happy crunching !*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Newsgroups: bit.listserv.sas-l
Date:         Thu, 19 Nov 1992 10:27:47 -0600
Reply-To:     flasar@WUGCRC.WUSTL.EDU
From:         flasar@WUGCRC.WUSTL.EDU
Subject:      SAS TO EXCEL
Comments: To: sas-l@uga.cc.uga.edu@wugate.wustl.edu
Comments: cc: FLASAR@wugate.wustl.edu

Thanks to all who have sent me solutions, queries, etc., about my problem
with SAS to EXCEL.  The problem has been solved and i am in the process of
editing your responses into a digest for posting early next week.
   Thanks again,
   Dan Flasar
   General Clinical Research Center
   Washington U School of Medicine
   St. Louis, MO
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Newsgroups: bit.listserv.sas-l
Date:         Thu, 19 Nov 1992 07:50:42 EST
Reply-To:     andrew parks <OPK@NIHCU.BITNET>
From:         andrew parks <OPK@NIHCU.BITNET>
Subject:      SAS/Windows Demo

----------------------------------------------------------------
CONTENT:  Announcement
SUMMARY:  DCSUG PC-SAS SIG Meeting TONIGHT: SAS under Windows
REL/PLTF: PC                       ^^^^^^^
E-ADDR:   opk@cu.nih.gov, opk@nihcu
NAME:     Andy Parks
PH/ADDR:  202-205-3250  500 E St SW Washington DC 20436
----------------------------------------------------------------

Sorry for the short notice folks, but in case you're in the area and
aren't doing anything tonight, SAS Institute is demonstrating SAS 6.08
under Windows tonight at a meeting of the DCSUG PC-SAS Special Interest
Group November 19, 7 pm at Bureau of National Affairs (in DC near
Georgetown). Contact David Barnes at 202-396-7050 or Don Masters at
202-785-7156 if you'd like to attend.
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Newsgroups: bit.listserv.sas-l
Date:         Thu, 19 Nov 1992 07:18:34 -0500
Reply-To:     "From Jerry, Ext. 3226" <kaganj1%phvax.dnet@SMITHKLINE.COM>
From:         "From Jerry, Ext. 3226" <kaganj1%phvax.dnet@SMITHKLINE.COM>
Subject:      RE: Annoying PROC REPORT Behavior
Comments: To: sas-l@ohstvma.acs.ohio-state.edu%inet.dnet@smithkline.com
Comments: cc: KAGANJ1@smithkline.com.local

Yes, proc report has more than one annoying feature.  One trick you
can use is to embed an unprintable character like the "squiggle", (~),
in the first position of some of your formats.  These characters will
sort in front of any alphabetic characters and will not show up when
you print your report (on most printers anyway).  In this way you can
change the sort order without changing the format text.

Proc tabulate has the same annoying habit that can sometimes be cured
by using the ORDER=DATA option and sorting your input dataset but I
do not know if proc reports problem can be solved as easily.

Good luck,

Jerry Kagan
SmithKline Beecham
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Encoding: 27 TEXT
X-Mailer: Network Courier V2.1b
X-Charset: ASCII
X-Char-Esc: 29
Newsgroups: bit.listserv.sas-l
Date:         Tue, 17 Nov 1992 12:30:00 PST
Reply-To:     okoks@PC.IBT.DK
From:         okoks@PC.IBT.DK
Subject:      RLS - Recursive Least Squares
Comments: To: sas-l@awiimc12.bitnet

Summary: How to make Recursive Least Squares in SAS.
Rel/pltf: os/2 v. 6.06 and Dos v. 6.04
E-add: okoks@pc.ibt.dk
Name: Karsten Strobek

Hello Net,

A small question about Recursive Least Squares.
I have a long time series, I need to test with RLS, but even thouth I've RTFM
'until my head turned blue, ect.', I can't find a way to do it. Could someone
lead me in the right direction?

Any help will be great.

TIA,


    _   ,              _                    Institute of Economics
   ' ) /              //                    University of Copenhagen
    /-<  __. __  _  -//-_  __               Studiestraede 6
  ./   )(_/|/ (_/_)_</_</_/ /               DK - 1455 Copenhagen K
   / /\  _                                  Denmark
  (_</' //        /      /                  Tel.: 45 - 33 91 21 66/377
    / -//-__  ___/   _  /_                  Fax:  45 - 33 12 00 01
  \/__</_/ (_(_)/_)_</_/ <_                 E-mail: Okoks@pc.ibt.dk
Newsgroups: bit.listserv.sas-l
From: crajan@nyx.cs.du.edu (Chella Rajan)
Subject: Converting tract level data to Zip code
Organization: University of Denver, Dept. of Math & Comp. Sci.
Date: Fri, 20 Nov 92 19:29:48 GMT


I'm trying to use the Census Bureau's TIGER Line files to consolidate
tract level census data from STF3A to the corresponding zip codes.
I realize a) that zipcode boundaries may cross census tracts and
b) STF3B will contain the information I'm looking for.
However, I'm interested in approximate census numbers at the zip code
level and I can't wait until March 1993 or so to get this information.
Has anybody else done this sort of thing before? 
Potential difficulties, solutions, suggestions will be greatly
appreciated.  
Chella Rajan
iaulcsr@mvs.oac.ucla.edu
School of Public Health, UCLA.

A
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
X-Delivery-Notice:  SMTP MAIL FROM does not correspond to sender.
Return-Path: rjf2@PHPDLS1.EM.CDC.GOV
Encoding: 74 TEXT
X-Mailer: Microsoft Mail V3.0 (beta-2)
Newsgroups: bit.listserv.sas-l
Date:         Wed, 18 Nov 1992 18:27:00 EST
Reply-To:     rjf2@PHPDLS1.EM.CDC.GOV
From:         rjf2@PHPDLS1.EM.CDC.GOV
Subject:      macro GETCODE from SAS Comm for MVS

content      : Information
summary      : macro GETCODE reading a PDS(Member)
rlse/platform: V6.07 / MVS
Ron Fehd     :                SMTP:BitNet:    <rjf2@phpdls1.em.cdc.gov>
              Centers for Disease Control
              1600 Clifton Rd  MS:G25         FAX  : 404/639-1778
              Atlanta, GA 30333  USA          phone: 404/639-1707

Macro Mavens Unite!

If you would really like to 'unroll' your macro code and have picked up the
latest copy of SAS Comm, and are reading the article on page 36--38 and want
to get this goody running in your flat-file environment, read on*!*!*!*!*!*:



//RJF2S    JOB (JC00,B43),FEHD,CLASS=E,TIME=(,10),MSGCLASS=0
//GETCODE  EXEC SAS

 /*-92Nov18-----------------------------------------------------------*
SAS Communications 92q4 Vol XVIII #4, pg 36-38
Diagnosing Errors in the Macro Facility
a macro to read the SAS Log and strip the SAS code from the Log.
RJF2: 92Nov18: customized for MVS V6.07
*.....................................................................*/

%MACRO GETCODE(PDS=LOGOFSAS,MEMBREAD=MLOG,MEMBWRIT=ZMPRNT);/*---------*/
%LET TESTING = 0;
%LET TESTING = 1;

DATA
  %IF &TESTING %THEN  GETCODE;
  %ELSE              _NULL_;                                          ;
  length Text $132;
  infile &PDS.(&MEMBREAD.);
  file   &PDS.(&MEMBWRIT.);

  link ReadText;

  if index(Text,'MPRINT(') then do;   Text    = left  (
                                                substr(Text,
                                                index (Text,':') +1 ) );
                                      LenText = length(Text);
                                      link Put_Text;
    do while(index(Text,';') ne LenText);
                                      link ReadText;
                                      link Put_Text;
                                                              /*do*/end;
                                                              /*if*/end;
 /*............................................................*/return;
ReadText:
  input            Text $char132.;
  Text    =   trim(Text);
  LenText = length(Text);
 /*............................................................*/return;
Put_Text:
  put Text;
  %IF &TESTING %THEN output;                                           ;
 /*............................................................*/return;

%IF &TESTING %THEN %DO;  proc PRINT;                               %END;

%LET WANTED  = 0;
%IF &WANTED  %THEN %DO; run; %INCLUDE &MEMBWRIT.;/*does it work?!*/%END;

 /*.............................................................*/%MEND;
options mprint;

FILENAME LOGOFSAS 'RJF2.SAS.LOG';

%GETCODE(PDS=LOGOFSAS,MEMBREAD=tgetcode,MEMBWRIT=ZGETCODE);

happy crunching!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Newsgroups: bit.listserv.sas-l
Date:         Fri, 20 Nov 1992 08:24:23 EST
Reply-To:     Marge Scerbo <MSCERBO@UMAB.BITNET>
From:         Marge Scerbo <MSCERBO@UMAB.BITNET>
Subject:      VMS--AF

We have an AF application which we are testing out on a VMS machine and
we're having trouble with concurrent access of this catalog.  The first
person is able to move around the catalog, but any other users remain
hung and have to break out of the process.  This system opens several
databases (in input mode).  We've talked to SAS and they said to make
the catalog Read-Only but we're still having problems.  We're not VMS
gurus so we need help!  Thanks!
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Newsgroups: bit.listserv.sas-l
Date:         Thu, 19 Nov 1992 11:54:18 EST
Reply-To:     Gerry <STATMAN@PACEVM.BITNET>
From:         Gerry <STATMAN@PACEVM.BITNET>
Subject:      Consulting Position

I'm posting this for the friend of friend, who has a consulting position
for a SAS programmer/analyst with:

      * experience with the data management capabilities of SAS
        (version 6 of SAS, exact version, 06 or 07, is unknown)

      * Proc SQL

      * OS JCL

The position pays 40+ dollars an hour and is located in Woodbridge,
New Jersey. Interested parties should contact:

            Peggi March

            212-546-3533 (Work #)
            914-693-6418 (Home #, call before 8:30 PM)
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
X-VMS-To: IN%"sas-l@uga.bitnet"
Newsgroups: bit.listserv.sas-l
Date:         Tue, 17 Nov 1992 10:12:00 CDT
Reply-To:     BOKERSON@MEMSTVX1.BITNET
From:         BOKERSON@MEMSTVX1.BITNET
Subject:      missing ascii files and macro

I am running SAS 6.07 with VMS 5.5 on a VAX 6420..

I have a user who has several hundred ascii files that he needs to read in to
process with SAS and he has a macro to do this.  The file names are mainly
sequential but there are some numbers that there is no ascii file for.  In the
macro when SAS reaches a value of the infile statement that is not there, SAS
quits processing rather than printing an error and going on to the next
iteration of the macro.  This is a simplified version of the macro:

   %macro test (prefix=a, number=10;
     %do i = 1 %to &number;
      infile &prefix&i;
      input a b c;
      proc sort; by a; out=new&i;
    %end;
   %mend;
  %test;

if data set a8.dat is missing, for example, SAS will quit processing.  Because
of the type of data there will be some missing runs, but renumbering is not
really a solution because the numbers identify the runs.

Please tell me there is an obvious solution and I am just overlooking it.

Thanks in advance.

----------------------------------------------------------------------------
Barbara Okerson                     BOKERSON@MEMSTVX1 (bitnet)
SAS Consultant                      BOKERSON@MSUVX1.MEMST.EDU (internet)
Academic Computer Services          (901)678-3682 (voice)
Memphis State University
Memphis, TN  38152
Organization: Penn State University
Date: Thu, 19 Nov 1992 09:14:07 EST
From: Daryl R. Hoffman <DRH4@psuvm.psu.edu>
Newsgroups: bit.listserv.sas-l
Subject: Re: Annoying PROC REPORT Behavior

Not sure of your data, but I believe that the problem may be the way the
data is ordered as it comes into the PROC REPORT.  I tried a simple test
with a small amount of data.  The program below used a 'semester year' code
and sorted on that.  Maybe this is the way you could go.


--------------------------------

options pagesize=62 linesize=72;

data student;

length status $ 9;

input idno $ semyear status $ major $;

cards; 179580339 4 Senior Cmpsc 129580339 2 Sophomore Cmpsc 139580339 1
Freshman Engl 149580339 4 Senior Cmpsc 159580339 3 Junior Math 169580339 1
Freshman Chem ;

run;

proc sort data=student; by semyear;

run;

proc report data=student; columns idno semyear status major;

define semyear /display noprint; define status /display order=data across
format=$10.; define idno /display format=$10.; define major /display
format=$7.;

run;

Output below
--------


1                             The SAS System

                                   STATUS
   IDNO          Freshman   Sophomore      Junior      Senior  MAJOR
   13958033             1           0           0           0  Engl
   16958033             1           0           0           0  Chem
   12958033             0           1           0           0  Cmpsc
   15958033             0           0           1           0  Math
   17958033             0           0           0           1  Cmpsc
   14958033             0           0           0           1  Cmpsc


Hope this helps.

Daryl R. Hoffman              The Pennsylvania State University
Bitnet:   DRH4@PSUVM.BITNET   The Center for Academic Computing
Internet: DRH4@PSUVM.PSU.EDU  Sr. Appl Prog/Anal, Resource Administration
Office: (814) 865-0845        Fax: (814) 863-7049
From: NJMS@NCSUMVS.BITNET
Newsgroups: bit.listserv.sas-l
Subject: goption trantab is key to printing problem
Date: 18 Nov 92 15:40:00 GMT
Reply-To: NJMS@NCSUMVS.BITNET
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU

Thanks to one and all for the help with my
printing mainframe v607 graph to TI microlaser p35 printer
attached to SUN wotkstations problem.

Nathan Mamias from Israel Institute of Technology and Martin Mincey
at SAS Institute suggested the goption TRANTAB=gtabcms. This was
a major break through. I have included the code that works.

Thanks again.
Joy Smith                      njms@ncsumvs.cc.ncsu.edu
Dept of Statistics             (919) 515-2585
NCSU
Raleigh, NC 27695

//SRCIS607 JOB ------------,SMITHJ
// EXEC SAS607
//PLT DD SYSOUT=A,DCB=(RECFM=VB,LRECL=136,BLKSIZE=1364),HOLD=YES
*LIBNAME GDEVICE0 'NJMS.GDEVICE' DISP=SHR;

DATA A;
  DO X=-5 TO 5 BY .25;
  DO Y=-5 TO 5 BY .25;
  Z=SIN(SQRT(X*X+Y*Y));
  OUTPUT;
  END;
  END;
GOPTIONS   DEVICE=PS300 ROTATE GSFMODE=REPLACE  GSFNAME=PLT
                 TRANTAB=GTABCMS GSFLEN=132;
TITLE1 'DEVICE=PS300 ROTATE GSFMODE=REPLACE  GSFNAME=PLT';
TITLE2 '         TRANTAB=GTABCMS GSFLEN=132';
PROC G3D;
PLOT Y*X=Z;
RUN;
From: rsnyder@LOBBY.TI.COM (R. Snyder)
Newsgroups: bit.listserv.sas-l
Subject: Re: missing ascii files and macro
Date: 17 Nov 92 22:56:54 GMT
Reply-To: "R. Snyder" <rsnyder@LOBBY.TI.COM>
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
X-Mailer: ELM [version 2.2 PL16]
Comments: To: Melvin Klassen <KLASSEN@UVVM.UVic.CA>
Comments: cc: sas-l@uga.cc.uga.edu
              17, 92 12:33 pm

SUBJECT:   missing ascii files and macro
SUMMARY:   Reply to Melvin Klassen
REL/PLTF:  6.07/HP300
E-ADDR:    rsnyder@lobby.ti.com
NAME:      Bob Snyder
COMPANY:   Texas Instruments, Sherman, TX
PHONE:     (903) 868-5799
FAX:       (903) 868-7240
>
> In article <9211171701.AA06626@lobby.ti.com>, you say:
> >
> >In a simular situation I "x" out to list the directory to a file and use
> >the names in the file to set up my infile statements. This has been
> >a reliable approach.
>
> A slight variation: use the 'FILEVAR=' option on the 'INFILE' statement
> to directly point to the name of the specific external file.
>
The following is a short program I wrote to add a missing line to a text that
uses the method you suggest.

data _null_;

  length filname $ 14 pathname newpath newline $ 80;
  retain newline ('1.300 . . . - . . . -');

  infile '/projects/alldata/file.lis';
  input filname;

  pathname = '/projects/alldata/data/'||filname;
  newpath = '/projects/alldata/xxx/'||filname;

  infile oldfile sharebuffers end=done filevar = pathname;
  file newfile filevar = newpath;

  i = 1;
  do while( done ne 1 );
    input;
    if ( i = 183 ) then put newline;
    put _infile_;
    i = i + 1;
  end;

run;
Organization: Penn State University
Date: Fri, 20 Nov 1992 09:08:07 EST
From: <DGS4@psuvm.psu.edu>
Newsgroups: bit.listserv.sas-l
Subject: Two-stage probit covariance matrix

I am running a two-stage probit (G.S. Maddala pp 246) which
requires computation of corrected standard errors.  A program
run in LIMDEP continuosly bombs.  I'd like to do it in SAS
if possible.  Has anybody tried to do this?


Dennis G. Shea, Penn State
"I believe that there is social and psychological justification
for significant inequalities of incomes and wealth....But it
is not necessary....that the game should be played for such
high stakes as at present."  John Maynard Keynes
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
X-Mailer: Ezmail v3.9 <Tue Nov 24 11:53:03 1992 richardh>
Status: U
Newsgroups: bit.listserv.sas-l
Date:         Tue, 24 Nov 1992 11:55:11 WST
Reply-To:     Richard Hockey <richardh@EPISUN.EPIDEM.UWA.EDU.AU>
From:         Richard Hockey <richardh@EPISUN.EPIDEM.UWA.EDU.AU>
Subject: Re: SAS on Sun
Comments: To: SAS-L@OHSTVMA.ACS.OHIO-STATE.EDU

In reply to the mail from <SAS-L@OHSTVMA.ACS.OHIO-STATE.EDU>...
-------------------------------------------------------------------------------
>In article <9211191835.AA05933@zydeco.EBay.Sun.COM> Claire Castell
><Claire.Castell@EBAY.SUN.COM> writes:
>
>>Yes, Sun just announced these sexy new models - cheaper AND faster !!
>>And yes, only Solaris 2.1 will run on these. Sun is very agressively
>>moving to Solaris.
>
>Surprise then to me to be at the MWSUG92 conference where SAS was showing
>its stuff and Sun showed a SparcStation 10 running SASv607. All the graphics
>and fascinating colors you could ask for. But the result of showrev inquiry
>yielded:
>
>SunOS v4.1.3
>
>So, in other words, yes 'these puppies' or whatever you want to call them,
>can run Solaris but there is no reason for not running 4.1.3 on them. If
>your desperate to run sas programs thru the MBUS multiple CPU processor
>boards, yes then your stuck running Solaris. Many a feature one can take
>advantage off even with SunOS 4.1.3 or equivalent UNIX flavor (scsci-2,
>striping, NFS caching, etc...)
Yes I have just looked at the specs for the SPARCserver 10 we are just thinking
of buying and the OS is Solaris 1.1 (aka SunOS 4.1.3).

| Richard Hockey                    email:richardh@episun.epidem.uwa.edu.au   |
| Department of Public Health       phone:+61 9 389-3463        _--_|\        |
| University of Western Australia   fax:  +61 9 389-3648       /      \       |
| NEDLANDS WA 6009                                             *_.--._/       |
| Australia                                                          v        |
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
X-Envelope-to: sas-l@ualtavm.BITNET
Content-transfer-encoding: 7BIT
Newsgroups: bit.listserv.sas-l
Date:         Sat, 21 Nov 1992 08:50:31 -0500
Reply-To:     Anami Bhargava <bhargava@MCMAIL.CIS.MCMASTER.CA>
From:         Anami Bhargava <bhargava@MCMAIL.CIS.MCMASTER.CA>
Subject:      computing working days

I am just about to compute working days between two dates. I want
to exclude week-ends and also any statutory holidays. What is the
best way to do it and is there any thing I should be careful about?

I know about sas function WEEKDAY. A repeated test for all days
between two date values could help me in identifying week-ends. But
is there any better way(s) to handle this?

-anami
=========================================================================
Anami Bhargava                           bhargava@mcmail.cis.mcmaster.ca
Application Software Specialist          TEL (416) 525-9140 Ext. 4162
Computing Information Services           FAX (416) 527-0100
McMaster University, KTH-328                 (416) 528-3773
1280 Main Street West, Hamilton,
Canada, L8S 4M4
From: belle@hardy.u.washington.edu (E Bell)
Newsgroups: bit.listserv.sas-l
Subject: Writing interactive SAS programs
Date: 18 Nov 92 16:53:39 GMT
Reply-To: belle@hardy.u.washington.edu
Organization: University of Washington, Seattle

I need some advice on how to create interactive SAS programs and systems.
I've got plenty of experience writing batch programs using data and proc
steps and the macro facility, but after my initial stabs at making
interactive programs, I'm a little bit at a loss as where to proceed next.

The system I am developing manages data for a research project, and
includes modules to update the database, print reports, and perform various
system administration functions.

I have implemented a crude menuing system using macro windows.  The 
menuing system calls macros I have defined to perform the desired functions.  
These macros are stored in separate files which are read in at system 
start-up.

I'm using SAS/PC.  Our site license includes SAS/FSP, but unfortunately
does not include SAS/AF.  I assume that SCL is the solution to many of
my problems.  What will I be able to do with SCL given that I only have
SAS/FSP?  What can't I do without SAS/AF?  Will it be worth the investment
in time and energy or will I still only be able to create a half-baked 
system without both products?  What are my other options?

Thanks in advance for any help you can give me.  Respond on the net or by
e-mail.  RTFMs are fine, just tell me where to go.
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU