02-08-2013 03:33 PM
My current SAS installation is a very minimal SAS "Foundation" package with Base, STAT, GRAPH, ACCESS to OLE and PC files, and Enterprise Guide. We're negotiating for some add-ons, and I'm trying to see about SCL. It looks like there are several possible ways to obtain SCL, but I'm not sure what the best way is, or what the "minimal" (i.e., cheapest) way is. If we just get SAS/AF, does that give us full SCL? How about SAS/EIS? Can you get SAS/EIS without SAS/AF? Any other options for SCL? What makes the most sense?
02-08-2013 10:29 PM
SAS/AF, among other things, provides the ability for you to edit and compile SCL (and FRAMEs etc). Once compiled with SAS/AF you can then run them without needing SAS/AF.
Taking a step back, can you provide a bit more background on why you want SCL and the sort of applications you want to use it for. The reason I ask is that there may be other (possibly better) options for you than SCL. Don't get me wrong I am/was a big fan of SCL. I used it heavily for several years, both for batch type applications and desktop applications. SCL lists were very flexible and things like the class class and per-instance methods allowed you to do some amazing things. Having said that, I haven't needed to use SCL for a very long time now. Primarily because there are now open interfaces to SAS that allow you to develop custom applications using things like Java and .NET. Whilst you could do a great deal with FRAME & SCL based apps, they never quite had the feel of a native app - they were always a bit quirky. There were also licensing ramifications to SAS/AF app deployment, as each workstation where the app was installed required a minimum of at least Base SAS, together with any other products the app utilized. Java and .NET apps could be deployed on as many workstations as you liked - they just connected to a suitably licensed and sized SAS server installation.
As a consultant, if someone asked me to develop an SCL application for them today, I would first suggest they try existing SAS applications first (WRS, EG, Portal, Dashboard etc). If those packaged apps didn't provide for their requirements my next suggestion would be to use SAS stored processes accessed via the web, AMO or EG. If that still didn't fit the bill and they needed a native style client app my next suggestion would be custom Java or .NET based interfaces. I'd suggest the options in that order because the latter items would require more development time, more unique skill sets and more ongoing maintenance as SAS versions evolve. I'd only suggest SCL these days for things that could not be accomplished by any of these other means, mainly because there are fewer people with SCL skills around these days and I imagine there will be even fewer in the years to come. Maintaining SCL based apps into the future could therefore involve rare and expensive consultants.
I notice you mentioned you don't have an installation that includes things like Web Report Studio, Portal, Metadata Server, Stored Process Server, etc. That would rule out some of the options above. You do mention you have SAS Enterprise Guide though, so one of your available options could be to write .NET custom tasks to add additional custom features to EG. Not knowing exactly what your requirements are I can't say for sure if that would be suitable for you, but it is definitely worth a look. Chris Hemedinger recently released a book Custom Tasks for SAS® Enterprise Guide® Using Microsoft .NET on this very topic. It's well worth a read - I used it to build a custom task of my own.
I hope this helps.
02-09-2013 12:01 AM
Thank you, Paul Homes, for the detailed response! My main interest in SCL grew out of some neat usages I have seen demonstrated in various SAS users groups, almost like a macro language on steroids, rather than from a pressing need to build applications. I wanted to find out what would be required to get full SCL capability; it sounds like I'd need SAS/AF in order to compile SCL programs so that they could run.
Hemedinger's book does look intriguing.
02-09-2013 01:14 AM
I forgot to address your question about SAS/EIS. In the "What Is SAS/EIS Software?" section of the SAS 9.2 Guide to Applications Development, Second Edition it states that SAS/AF is a pre-requisite for building SAS/EIS apps. I think it's also very telling that there is no information about EIS in the equivalent SAS 9.3 document (and it's new title suggests is now only about SAS/AF). I would avoid SAS/EIS if it were me. It's very old now and there are much better things available. The Migration: SAS/EIS Software page has this to say about SAS/EIS in version 9:
SAS/EIS software continues to be supported in SAS®9, although no new functionality is added. Development of new functionality has shifted to the following SAS®9 products:
If you're interested in custom tasks I just saw there is a webcast about it soon: Introduction to Custom Tasks in SAS® Enterprise Guide®