A first cut, very fast interface can be done in macro using %WINDOW and
If doesn't do combo boxes and things like that, but simple quick and dirty
<prompt> <_enter_value_here_> screens can be made. You can use macro or
data step to validate the data entered into the macro window, and if you
don't like the values you can loop back and redisplay the macro window.
Since you have time, take it to learn some AF. You should be able to rapid
prototype a screen without any training. V8 is even easier than V6. If you
have a user base you can further support using additional AF projects you
are well justified in learning AF.
I would do VB last, unless there is some functionality in VB you can not
achieve in AF (say you have a VB library to control a complicated machine,
but note that AF can also do .dll's using call MODULEN()). For a simple
'enter parameters and run macro' applications you will not need VB. VB is
great for deploying stand alone windows applications, but you're deploying
SAS applications and have AF.
To get you started in AF you can issue one of these commands:
BUILD (need to select a library, create a catalog, create a frame)
BUILD LIBNAME.MEMNAME (need to create a frame)
Right click in the frame designer to 'make' objects like labels, input
fields, list boxes, push buttons, icons, etc...
SCL code is added behind the frame to perform operations based on user
actions (clicks, inputs, etc.)
SAS code is run from within SCL code by using SUBMIT/ENDSUBMIT blocks. You
typically place a &variable in the submit block to represent the values
entered by the user in the frame.
AF is very big, very capable and can get complicated, but for simple tasks
it is easy.
There are some system option settings you will need to use when deploying an
AF app as an icon to make it more 'windows GUI looking'
sas.exe ... -initcmd 'AF C=LIBNAME.MEMNAME.MYSCREEN.FRAME'
and in the config.sas you will want to add
SAS Tips and Tools - http://pweb.netcom.com/~radevenz
"David Jensen" <email@example.com> wrote in message
> Need some advice.
> I have a program that is a little fluid but is, for the most part,
> and is approved by the members of my team and management. The program
> relies on about 10 macro variables that are assigned at the beginning of
> program and are used to make decisions throughout the program (dates,
> datasets, variables of interest etc). The program is intended for an
> audience that knows very, very little about SAS (or computers in general
> other than basic dialog boxes and pull-down menus - in other words, basic
> Windows operations) and rather than me running around feverishly all day
> long showing users how to change the macro variables to meet their wishes
> and even having to show them how to open up a SAS session, I would like to
> create a user interface. I'm willing to and luckily have the time to put
> the effort needed in learning to design such a user interface. Not so
> asking how to do it as to the best tool to use. I know (or should say
> since I last used version 4.0) some Visual Basic and was wondering if you
> could do something like this with VB6 and just create a list box with
> choices and pass it to SAS. I know next to nothing about SAS/AF or SCL
> other than the basic ideas. Is it worth investing time and effort in
> learning? Can I do something like this in VB? Just looking for some good
> practical advice on how to do this. I've seen some SAS user interfaces
> haven't seen one that really impressed me like what VB can do - at least
> appearance. Granted, I've never seen one necessarily like I'm sure some
> you are experienced in developing. Can anyone suggest the proper route to
> take. I'd hate to spend three or four months in either learning SCL or
> SAS/AF and find out it doesn't look right or 'feel' right or appear
> "Windowy" enough to my users who are computer novices or, alternately,
> that time brushing up on VB and how it can be tied to SAS only to find out
> it doesn't have the desired capabilities. Thanks very much for any help.
> Dave Jensen