BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Malarkey
Obsidian | Level 7

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.

ScottBass
Rhodochrosite | Level 12

<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>


Please post your question as a self-contained data step in the form of "have" (source) and "want" (desired results).
I won't contribute to your post if I can't cut-and-paste your syntactically correct code into SAS.
SASKiwi
PROC Star

Aaah a trip down memory lane....SAS V10 AKA SAS Viya.

 

jeffreyListed
Calcite | Level 5

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

Tom
Super User Tom
Super User

@jeffreyListed

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.

nar_sas
SAS Employee

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.  

LinusH
Tourmaline | Level 20
Will there ever be a SAS 10?
Data never sleeps
TomKari
Onyx | Level 15

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

Malarkey
Obsidian | Level 7

Oh, I've been through 370 dumps - and without AbendAid!  ICK!

ScottBass
Rhodochrosite | Level 12

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 🙂


Please post your question as a self-contained data step in the form of "have" (source) and "want" (desired results).
I won't contribute to your post if I can't cut-and-paste your syntactically correct code into SAS.
TomKari
Onyx | Level 15

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

Malarkey
Obsidian | Level 7

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!

SASKiwi
PROC Star

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... 

LinusH
Tourmaline | Level 20
I'll guess that 6.08 doesn't impress you guys. But it had at least the 8 char name length restriction (if we should try to stick to the subject 😉)
Data never sleeps
JohnJPS
Quartz | Level 8
My understanding is that some new major release (v10?) will indeed allow for longer column/table/database names. Hopefully this is less than a couple years out but who knows.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to connect to databases in SAS Viya

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.

Discussion stats