In a prior post, I introduced SAS Viya 3 Content Assessment as a critical capability for migration planning, highlighting how it provides the insight needed to make informed decisions before moving to Viya 4.
I outlined its two core components—Inventory, which discovers and classifies existing content, and System Evaluation, which assesses the readiness of the current environment to migrate to SAS Viya. Since that article, significant additional functionality has been added to Viya 3 Content Assessment. In this post, I will review the new functionality.
A useful enhancement in recent releases is the MigrationPlanning.sh wrapper script. The wrapper script simplifies the execution of the inventory and system evaluation applications. Instead of manually managing Ansible-playbook, environment setup, tags, and ordering, this script orchestrates everything for you. The script simplifies the process by:
To configure inventory and system evaluation to run you still follow the steps in my previous post, also documented here. However, you can replace the last step with a simple execution of the MigrationPlanning scripts.
./MigrationPlanning.sh inventory
Three new Viya 3 Content Assessment applications have been added. SAS Viya 3:
These applications are available from support.sas.com. You should download the zip file and unpack it into the Viya 3 project directory. You need to set up and run the inventory application before you run the additional applications. Configuration for the additional applications happens in the viya3_ca_vars.yml file.
# A directory to store the various content assessment results in ca_results/.
# Sub-directories will be created in this location to organize: ca_results/
caResultsLocation: /gelcontent/gelcorp/
# The target host is defined in the ComputeServer or Programming host groups within the inventory.ini
sasPublishHost: deployTarget
# Controls how data marts are transferred from SAS hosts to the publish host.
useRSYNC: false
# Content Assessment Applications
runCodeCheck: true
runDetectDuplicateSASContent: true
runCodeDependencies: true
To run Viya 3 Content Assessment, from the Viya 3 project directory:
cd ~/viya/sas_viya_playbook
ansible-playbook viya3-content-assessment.yml
To run Viya 3 Content Assessment, from the Viya 3 project directory run the viya3-content-assessment.yml ansible playbook:
cd ~/viya/sas_viya_playbook
ansible-playbook viya3-content-assessment.yml
The reports must be imported to SAS Viya. You can use SAS Environment Manager, pyviyatools or the sas-admin CLI. The report package files can be found in the caResultsLocation directory.
The reports must be imported to SAS Viya. You can use SAS Environment Manager, pyviyatools or the sas-admin CLI. The report package files can be found in the caResultsLocation directory specified in the viya3_ca_vars.yml file.
Select any image to see a larger version.
Mobile users: To view the images, select the "Full" version at the bottom of the page.
/opt/pyviyatools/importpackages.py -d /gelcontent/gelcorp/ca_results/codecheck -q;
After importing, the reports are located in subfolders under Public > SAS Content Assessment in the SAS Viya 3.5 environment. Let's look at each one of these at a high level.
Code Check provides a detailed analysis of SAS programs to identify potential incompatibilities with SAS Viya 4. It examines code for unsupported or deprecated statements, analyzes library engine usage, lists hard-coded file paths and identifies code elements that are restricted in SAS Viya. By classifying findings into warnings and errors, Code Check helps distinguish between code that will fail outright and code that may require modification. This allows you to prioritize remediation efforts and focus on the areas where migration is relatively easy. SAS code for SAS Viya 3 should have a very high success rate in migrating to SAS Viya 4.
The Duplicate Content Detection capability helps identify redundant or repeated SAS content (programs and datasets) across the SAS Viya 3 environment. The report includes SAS files that have identical content. Duplicates are identified by comparing files. For SAS datasets, comparisons are performed using SAS procedures; for SAS program files, a hash of the file is created. Two files with the same hash are identified as duplicates.
By highlighting these redundancies, organizations can rationalize their content, eliminate unnecessary duplicates, and reduce the overall volume of material that needs to be migrated. This not only simplifies the migration process but also results in a cleaner, more maintainable Viya 4 environment by retaining only relevant, actively used content.
Code Dependencies provides visibility into the relationships between SAS programs and the resources they rely on, such as environment variables, datasets and external files. Mapping these dependencies, it helps ensure that all required objects are identified and migrated together, reducing the risk of broken processes in the target environment.
This analysis can also reveal hidden complexity in existing workflows, enabling teams to better understand how content is interconnected and plan migrations and refactoring activities more effectively. As a result, organizations can maintain functional integrity while migrating to SAS Viya 4.
This post highlights recent enhancements to SAS Viya 3 Content Assessment that further support migration to SAS Viya 4. In addition to the original Inventory and System Evaluation capabilities, new functionality has been introduced to simplify execution and deepen analysis.
A key improvement is the MigrationPlanning.sh wrapper script, which automates running the assessment tools by verifying environment setup, playbook execution, ordering, and logging—making the process much easier and more consistent.
Three new applications expand migration insight:
Overall, these enhancements provide better automation, deeper code analysis, and improved visibility into content, helping organizations streamline migration and reduce risk as they modernize to the SAS Viya platform. For additional information and practical experience, check out the workshop Migration from SAS® Viya® 3 to the SAS® Viya® Platform.
Workshop: Migration from SAS® Viya® 3 to the SAS® Viya® Platform.
Documentation: SAS Viya 3 Content Assessment
POST: SAS Viya 3 Content Assessment: a key to planning migrations to SAS Viya
POST: SAS Viya 3.x System Evaluation
Find more articles from SAS Global Enablement and Learning here.
Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.
Explore Now →The rapid growth of AI technologies is driving an AI skills gap and demand for AI talent. Ready to grow your AI literacy? SAS offers free ways to get started for beginners, business leaders, and analytics professionals of all skill levels. Your future self will thank you.