Thanks, @SASKiwi! The work-around is how I was able to deal with the immediate problem. I haven't yet opened a ticket, but I will do so soon.
<soapbox>
I ran into this issue today. In fact my Googling took me to this post.
For the old timers out there...remember when?
1) SAS V5 was written in PL/1
2) SAS made the very strategic decision to do a major rewrite using C and Multi Vendor Architecture (MVA). They even bought Lattice C to assist in this process (https://en.wikipedia.org/wiki/Lattice_C)
3) While this rearchitecture was a lot of work for SAS, it proved very successful, and IMO is a major reason SAS is as successful as it is today.
SAS is 40 years old, and it's age is showing. While I love SAS software and enjoy working with it every day, IMO I feel SAS is in a similar position as it was back then.
I certainly hope SAS V10 will incorporate many of the best features of more modern software packages. Perhaps even (gasp!) let go of backwards compatibility for the sake of moving forward. Perhaps "old SAS" and "new SAS", as companies go through a transition period of old code vs. new and improved code.
In the meantime, I'll go through my application and shorten those dynamically generated table names that are > 32 characters (which contain the userid in the path - long story). The SQL Passthrough works fine - SQL Server manages these table names just fine. But when I try to access them in SAS...sigh.
</soapbox>
Aaah a trip down memory lane....SAS V10 AKA SAS Viya.
Hello All:
I agree with other users that SAS should develop a work around to allow users to exceed the character restriction. One could possibility allow the label with lager naming conventions than 32 characters for output to their XML mapper tool. I have a national vendor that will not budge on their existing labels which has 39 characters lenght in three places that must be met since many companies already submit a quarterly file in XML. This leaves me no choice but to use an outside product that allows longer labels (length of fields). I have been a SAS user for almost two decades and agree with prior comments as many companies are now competing for usability and ease of products with corporations. SAS should just budge on this and take one for the team (their users) to stop people from having to find other tools to do their required work.
Regards,
Jeff H
Please post your questions as a new question. Give an example of the type of XML file you are trying to create. There should not be any reason why you cannot create an XML file with field names that are longer than 32 characters. You just cannot do it by using a SAS dataset with variable names that are longer than 32 characters.
Here are a few comments/suggestions on this topic:
1. @SASKiwi has a good suggestion to use SQL passthru. You can use SQL passthru with most SAS/Access engines, not only with ODBC. DI Studio will even generate SQL passthru for you in the SQL transforms if you select passthru=yes in the UI options. This will help get around some of the restrictions you are seeing, and has the bonus of being more performant as the SQL gets pushed to the database.
2. Tables and columns can have LABELs associated with them, which you can use for the longer text. Labels in many databases do not have length restrictions. We see this in other databases that have similar limits. Users build their column names shorter and use the labels to store longer and more descriptive variable information. SAS will capture both column name and label information when registering these tables in the SAS metadata server and pass that information around to all the SAS applications using that data.
3. We at SAS have heard the request and we are working on continuing to improve long variable name support in the future.
Unless you've had to wade through a System/370 memory dump, I'm not sure any of you belong in this conversation, if we're limiting it to old-timers!
Tom
Oh, I've been through 370 dumps - and without AbendAid! ICK!
Didn't have to wade through a memory dump but do (or did) know JCL, clist, and ISPF. And my first SAS version was 5.16 🙂
I'm not sure what release I started with. What was the last release where the documentation was only one book? I remember the next release was divided into a book for the PROCs, and one for everything else. Also, it introduced the MACRO facility, and we've been getting into trouble ever since!!
Tom
I started with version 6 in 1996. Documentation was in two books at the time as @TomKari says. I didn't realize the macro facility was new with that release!
Hate to say this but my first SAS version was 79.6 when SAS got named after years! Macro was around in at least Version 5 possibly before. There was even rudimentary SCL in V5 called the triple hash (###) macro. That is something you would never want to resurrect...
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.