Functionality differences of SAS 9.4 vs SAS Viya and pros and cons in both environments if they completely switch from one environment to other and vice versa..
Can SAS 9.4 users can run all their jobs and perform all other activities what they can do on SAS 9.4 without any issues on SAS Viya or will there be any restrictions/limitations to any functionalities and vice versa?
Does SAS 9.4 users need to make any changes in the code when they run same code in SAS Viya and vice versa?
What kind of changes we need to make in the Environment (SAS 9.4 M6, SAS Viya 3.4 )(cpu,disk size) to handle the workload if we switch users from one environment to other vice versa ?
Lets say If I decommission SAS 9.4 and migrate all users to SAS Viya will there be any impact to users jobs or any other functionalities they have in SAS 9.4 and vice versa.
Performance wise will is there any difference or will there be any impact if we migrate users ?
Kindly awaiting for your valuable response on above
To fully evaluate any necessary changes required when migrating from SAS 9.4 To SAS Viya, I would advise you to use the
SAS Content Assessment tool . It will evaluate relevant SAS software changes across all your SAS installs, any SAS content to be migrated and also identify any SAS code that may need changes.
Not sure why you reference Viya 3.4, when the current version is Viya 4. Viya 4 (2023nn) is the most recent and the recommended migration path. Don't forget that you do have a current SAS 9.4 migration path in M8. That will have 5 years of full support through to 2028.
So, whatever answer/info you get/find, try to make sure you focus on how it relates to your deployment.
As @SASKiwi had mentioned, You would be much better served by upgrading to the latest versions of the SAS software
SAS 9.4 --> SAS 9.4 M8* (M6 & M7 has lots of security vulnerabilities that being addressed by the M8 release, but it could have some negative impact on your EBI deployment). SAS 9.4 M8 is now available!!
SAS Viya --> SAS Viya 4 (SAS Viya 3.5 has hot-fix support only, all new developments and enhancements are being done in Viya 4).
Here are few papers and links that could provide with some valuable insight. Note: some of these links could be dated, but still informative none the less
On the topic of whether SAS 9 code will need to be changed to run on Viya, BASUG is hosting a free webinar that will address this on April 19. You can register at www.basug.org/events. It's from the SAS Ask The Expert series, so if you want to watch a recorded version it's probably available there (along with other SAS 9/ Viya recordings). https://www.sas.com/en_us/learn/ask-the-expert-webinars.html. We're excited that Stacey will be presenting it for BASUG live, and will have time for live Q&A.
As a programmer, one interesting piece is if your DATA step runs on Viya on CAS, it will run multi-threaded. This has interesting implications for things like the RETAIN statement, LAG, and (I think) the END= option on a SET statement. RETAIN will retain values, within the batch of records read by each thread.
I think familiar code like:
set have end=eof;
would result in multiple records being output, because each thread would end eof=1 for the last record read by that thread. (I haven't tested this, I don't have CAS. I could be wrong).
There is good documentation on DATA step processing in CAS:
After so many years of the DATA step having a single PDV and iterating through a dataset, I think it will be critical for SAS 9 programmers to understand the implications of the change to a multiple-threaded DATA step. I haven't played in CAS much, but my current working model is that each thread gets its own PDV.
There are ways in Viya to specify that a DATA step run on a SAS 9 compute server, or run on CAS single-threaded.