SAS® 9 Content Assessment
SAS® 9 Content Assessment
SAS 9 Content
Assessment
2024.02*
* This document might apply to additional versions of the software. Open this document in SAS Help Center and click
on the version in the banner to see all available versions.
SAS® Documentation
February 13, 2024
The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2020. SAS® 9 Content Assessment. Cary, NC: SAS Institute
Inc.
SAS® 9 Content Assessment
Copyright © 2020, SAS Institute Inc., Cary, NC, USA
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Solaris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Chapter 16 / Executing the Import SAS Content Assessment Data and Reports Application . . . . . 85
Import SAS Content Assessment Data and Reports . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1
Understanding SAS Content
Assessment
Why?
SAS Content Assessment delivers information that is critical to helping you upgrade
to a newer version of SAS 9.4 or migrate to the SAS Viya platform. It provides a
comprehensive view of content on your SAS 9.4 system, giving you invaluable
transparency and knowledge. You determine issues before upgrading or migrating
so that you can proactively address them with SAS Technical Support.
The SAS Viya platform and the cloud are the future. The SAS Viya platform is an
automated AI, analytic, and data management platform that runs on the cloud. Its
massively parallel processing delivers results in seconds, not hours. Its built-in
governance makes your decisions repeatable, explainable, transparent, and
trustworthy, no matter the scale of your data, users, and workloads. SAS Content
Assessment determines the compatibility of your existing SAS 9.4 content on the
SAS Viya platform so that you can thoroughly plan for your migration to the SAS
Viya platform.
Migrating to an updated or new system can be expensive and intimidating. With the
work that SAS Content Assessment does before migration, you reduce downtime,
you do not have to rewrite code, and you can have confidence in your new system.
SAS Content Assessment makes upgrades and migration less expensive, safer,
easier, and faster.
What Do I Get? 3
How?
The following presentation, demos, and site show you SAS Content Assessment in
action and explain its relevance to your organization as you migrate.
SAS Administration: SAS 9 Content Assessment Applications
SAS 9 Content Assessment YouTube Video
System Evaluation: A SAS 9 Content Assessment Tool YouTube Video
Migrating to SAS Studio on SAS Viya
Accelerate Your Migration to SAS Viya
What Do I Get?
SAS 9 Content Assessment includes the following applications:
SAS 9 Inventory
This application counts the various SAS objects and content on your system. Here
are the objects that are counted:
n SAS Metadata Server objects contained in SAS folders
SAS 9 Profile
This application profiles specific SAS objects and content on your system. It takes a
deeper dive, looking at the details of the attributes, such as levels, hierarchies,
engine types, and so on. Here are objects and content that can be profiled:
n Content produced by SAS products in the SAS Metadata Server
o SAS libraries and tables
o SAS stored processes, SAS prompts, and SAS prompt groups
o SAS Data Integration jobs, transformations, generated transformations, and
deployed flows
o SAS Forecast Server projects
o SAS information maps and SAS information map subqueries
o SAS OLAP cubes
o SAS Web Report Studio and SAS Visual Analytics reports
o SAS Access Control Templates (ACTs)
n SAS Enterprise Miner projects
For objects on a SAS Metadata Server, the code is extracted into a file structure that
matches its metadata folder location.
This application currently supports SAS stored processes, SAS catalogs, SAS
Enterprise Guide projects, and SAS Data Integration Studio jobs. The profile
application creates content that this application needs, so it must be run before you
run this application. The output from the gather SAS code application can be used
by the code check application to analyze code compatibility on the SAS Viya
platform.
n Hardcoded path names that might not be accessible by the SAS Viya platform
This application can be run as needed on multiple machines and on multiple SAS
deployments. It creates one data mart for all SAS programs that it checks per
deployment.
IMPORTANT For the code check application, you must also be able to
access and read all files in the directories specified for validating.
n column pointer controls in the PUT and INPUT statements in a UTF-8 SAS
session
8 Chapter 1 / Understanding SAS Content Assessment
SAS 9 Publish
This application aggregates the data marts and creates a single, unified data mart. It
publishes one class of data marts at a time.
SAS 9 Create SAS Packages 9
The data marts created can be encrypted with either SAS Proprietary or AES
encryption. Personal identifiable information (PII) is removed by default when
publishing a data mart.
important information about how to create this CSV file, see “Create SAS
Packages”.
CAUTION
Using system evaluation does not guarantee that an upgrade will be without problems.
System evaluation, its results, and supporting data are provided to assist in
troubleshooting before or during an upgrade. SAS does not provide a guarantee as to
the completeness of system evaluation data.
12 Chapter 1 / Understanding SAS Content Assessment
Plan
The SAS Content Assessment applications involved in planning for your migration to
the SAS Viya platform include:
n Inventory
n Profile
Review
The SAS Content Assessment applications involved in reviewing for your migration
to the SAS Viya platform include:
n Publish
n Import SAS Content Assessment Data and Reports
Prepare
The SAS Content Assessment applications involved in preparing for migrating to the
SAS Viya platform include:
n Create FAR Packages
Migrate
The SAS Content Assessment applications involved in migrating to the SAS Viya
platform include:
n Import EG Projects
Can’t Wait?
This document has an abundance of information about settings, customizations,
publishing your results, and importing the data mart. But, maybe you want to get
started immediately. Here’s how:
2 Download the latest version of each application. The download is either a ZIP file
(for Windows), a TGZ file (for Linux), or a TAR file (for AIX) that contains a
collection of applications.
5 If you want to run gather SAS code, you must run profile first, you need to know
where your SAS Enterprise Guide projects are, and you need access to the
“Command-Line Interface: Preliminary Instructions” in SAS Viya Platform: Using
the Command-Line Interface.
6 If you want to run code check, you must specify “--scan-tag” and either “--
sources-file” or “--source-location”.
7 If you want to run code check for i18n, you must specify “--scan-tag” and either
“--sources-file” or “--source-location”.
8 If you want to run create SAS grid import data, you must run profile first, and you
need access to the “Command-Line Interface: Preliminary Instructions” in SAS
Viya Platform: Using the Command-Line Interface.
9 If you want to run system evaluation, you must specify a valid --config-dir.
15
2
Examining the SAS Content
Assessment Data Model
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Inventory Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Reporting on This Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Deployment Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Doing Your Own Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Overview
SAS Content Assessment gathers information from various areas of a SAS 9
system. The data model consists of a set of tables per area and a report. For best
compatibility, all data is UTF-8 encoded.
The following sections describe the data model for the inventory application. Other
application data models will be provided in the future.
Inventory Objects
The ALL_OBJECTS table is used by the inventory application and includes objects
such as metadata, file system, and other items on a SAS 9 system. This information
is obtained by submitting PROC CONTENTS on the ALL_OBJECTS table or by
looking at the Details view for the table. This table has the following general
attributes:
n Variables - 22
n Indexes - 0
n Observation Length - 4032
Format
Raw ted
# Name Label Type Length Length Format
Format
Raw ted
# Name Label Type Length Length Format
Format
Raw ted
# Name Label Type Length Length Format
of
LastAccessedO
n
22 SERVER_LA char 7 7
BEL_COLOR
When working with the ALL_OBJECTS table, here are important details to
remember:
n The Path and PathLocation variables have separate namespaces, depending on
the StorageType used. (For example, SAS Metadata Server paths do not blend
easily with file system paths.)
n RawSize is typically available only for file-system-based objects.
n LastAccessed values might not be reliable, depending on the type of activity last
performed. For example, profiling a SAS data set to determine its internal
characteristics can result in an updated LastAccessed value.
There are many SAS 9 types that might not be recognizable by just their names. To
facilitate grouping in reports, the ALL_OBJECTS table is joined with a reference
table named SAS_9_TYPES_V5, which is distributed with SAS Content
Assessment.
Raw
# Name Label Type Length
Raw
# Name Label Type Length
Category Cardinality
CommonRootPath 33
CUSTOMER_ID 1
ModifiedBy 2
ModifiedOn 3.5K
ModifiedOnString 3.5K
Name 9.8K
Path 12K
PathLocation 1.9K
Portfolio 4
Product 10
Product Family 7
20 Chapter 2 / Examining the SAS Content Assessment Data Model
Category Cardinality
PublicType 67
Sellable_Offering 8
Server Definitions 4
SERVER_LABEL 1
SERVER_LABEL_COLOR 1
StorageType 1
Type 67
TypeName 68
Hierarchy
Item Hierarchy
Measure
Frequency
Parameter
Aggregated Measure
Frequency Percent
Deployment Information
Information about the inventoried system, such as version and applied fixes, are in
the DEPLOYMENTINFO table, which has the following structure:
Licensing 21
Formatted
# Name Label Type Length
8 SERVER_LABEL_COLOR char 7
Licensing
The applied license status is in the LICENSEINFO table:
Formatted
# Name Label Type Length Format
Formatted
# Name Label Type Length Format
7 SERVER_LABEL_COLOR char 7
3
Preparing Your System
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Java Development Kit and JRE Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Prerequisites
IMPORTANT With the exception of system evaluation, do not run SAS
Content Assessment applications on production hosts, especially a
production SAS Metadata Server host, if you are concerned about system
performance. SAS Content Assessment provides a way to specify a specific
SAS Metadata Server host remotely to avoid any performance impact.
However, system evaluation needs to run on all hosts with SAS configuration
directories.
n For best results, run SAS Content Assessment locally, not across network
mounts.
n For the inventory application, SAS Visual Analytics 8.3 or higher on the SAS
Viya platform is required.
24 Chapter 3 / Preparing Your System
n For the profile application, SAS Visual Analytics 8.3 or higher on the SAS Viya
platform is required to view reports.
n For the code check applications, SAS Visual Analytics 8.3 or higher on the SAS
Viya platform is required.
n The import SAS Content Assessment Data and Reports application requires at a
minimum the 1.17.11 release of the SAS Viya Command-Line Interface (CLI)
and use at a minimum the 1.20.0 release of the transfer plug-in and at a
minimum the 1.13.37 release of the CAS plug-in.
n The import EG projects application, the import SAS packages application, and
the import SAS grid packages application require at a minimum the 1.17.11
release of the SAS Viya Command-Line Interface (CLI) and use at a minimum
the 1.20.0 release of the transfer plug-in.
n With the exception of system evaluation and the code check applications, SAS
Intelligence Platform Object Framework 9.4 must be installed. By default, the
SAS Intelligence Platform Object Framework is installed on every server and
middle-tier machine. It resides in one of these directories:
$SASHOME/SASPlatformObjectFramework/9.4 (UNIX)
$SASHOME\SASPlatformObjectFramework\9.4 (Windows)
n With the exception of system evaluation, import EG projects, and import SAS
packages, all SAS Content Assessment applications must be executed on a
machine that has SAS 9.4 installed.
n With the exception of the code check applications, the SAS middle tier must be
installed.
n With the exception of the code check applications, SAS Content Server must be
installed.
n The system evaluation application expects a SAS middle tier present in any
deployment it validates.
n System evaluation runs only against SAS deployments where configuration has
occurred. Furthermore, system evaluation is intended to run only against the
actual machines in a deployment where configuration has occurred.
For Windows and Linux, the download is available from Oracle at https://
www.oracle.com/java/technologies/javase/javase8-archive-downloads.html.
For AIX, the download is available from IBM at https://www.ibm.com/support/pages/
java-sdk-downloads.
For Solaris, the download is available from Oracle at https://docs.oracle.com/
javase/8/docs/technotes/guides/install/solaris_jdk.html.
26 Chapter 3 / Preparing Your System
27
4
Using SAS Content Assessment
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Overview
SAS 9 Content Assessment is supported only for SAS 9.4 deployments. Not all SAS
Content Assessment applications execute on the supported operating systems. In
particular, SAS 9 System Evaluation for Solaris 64 only runs on Solaris 64. If you do
not have a planned deployment, there is SAS 9 Content Assessment for Windows
PC Users and SAS 9 Content Assessment for Linux PC Users. For more
information, see SAS Content Assessment for Windows PC Users and SAS Content
Assessment for Linux PC Users.
SAS 9 Content Assessment functions as follows:
n For security, the server that SAS Content Assessment uses to run is bound to
the local machine.
n For security, in LIBNAME statements, user names, user IDs, URLs, and
passwords are obfuscated when you publish.
n The environment to be evaluated is validated in terms of the existence of all
required SAS products and applications, meeting all prerequisites, and
acknowledging configuration settings. Any failure during validation causes SAS
Content Assessment to terminate.
n SAS Content Assessment connects with the SAS Metadata Server in the
deployment and gathers a list of SAS Metadata Server repositories. System
evaluation performs additional validation steps, including the verification of
critical installation and configuration files, provided credentials, and the account
executing the application. Any failure causes SAS Content Assessment to
terminate, and the failure must be addressed before it can be successfully run.
n SAS Content Assessment verifies all required directories and confirms that
support files are in place before proceeding.
n SAS Content Assessment executes various SAS programs and tools to perform
its analysis. Relevant actions and events are logged.
28 Chapter 4 / Using SAS Content Assessment
Note: To check code, the code check applications must be either executed on
the physical machine that contains the SAS programs to be scanned or the file
system must be accessible from the machine on which the application is
executed. The user must be able to access and read all files in the directories
specified for scanning.
Note: The profile application must be run before you run the gather SAS code
application. The output from the gather SAS code application can be used by the
code check applications to analyze code compatibility on the SAS Viya platform.
5
Getting Started
Application Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Solaris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Assessment Subdirectory Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Migration Subdirectory Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Application Files
Depending on your operating system, you receive the following file:
n SAS9ContentAssessment.2024.02.aix.tar (AIX)
n SAS9ContentAssessment.2024.02.lax.tgz (Linux)
n SAS9SystemEvaluation.2024.02.s64.tar (Solaris)
n SAS9ContentAssessment.2024.02.win.zip (Windows)
IMPORTANT Using the Installer user account, you should unpack this file
into a directory that does not contain existing SAS Content Assessment
content. In this guide, SAS9ContentAssessment is used as an example
directory. Values in the metaparms.sas file and the setenv.yaml file are
subject to change when you unpack this file, so using an older version of
either of these files can be problematic.
have both the assessment and migration subdirectories and AIX has just the
assessment subdirectory.
AIX
Files are in the compressed TAR archive format (.tar). Determine where you want to
store the content. Unpack the file.
CAUTION
It is not recommended to unpack the files in SASHome or in the specified SAS
configuration directory.
For example, to unpack SAS Content Assessment, execute the following command:
tar xvf /path/SAS9ContentAssessment.2024.02.aix.tar
Linux
Files are in the compressed TAR archive format (.tgz). Determine where you want to
store the content. Unpack the file.
CAUTION
It is not recommended to unpack the files in SASHome or in the specified SAS
configuration directory.
For example, to unpack SAS Content Assessment, execute the following command:
tar zxvf /path/SAS9ContentAssessment.2024.02.lax.tgz
Solaris
Files are in the compressed TAR archive format (.tar). Determine where you want to
store the content. Unpack the file.
CAUTION
It is not recommended to unpack the files in SASHome or in the specified SAS
configuration directory.
Contents 31
For example, to unpack System Evaluation for Solaris 64, execute the following
command:
tar zxvf /path/SAS9SystemEvaluation.2024.02.s64.tar
Windows
Files are in the ZIP file format. Determine where you want to store the content.
Unzip the file using either Windows Explorer or any other Windows software that
supports ZIP files.
For example, you might want to unzip to the folder containing SAS Content
Assessment:
C:\SAS9ContentAssessment
CAUTION
It is not recommended to unpack the files in SASHome or in the specified SAS
configuration directory.
Contents
IMPORTANT This information pertains to the SAS Content Assessment file,
not the System Evaluation for Solaris 64 file.
The directories and layout of any SAS Content Assessment application are the
same, regardless of the operating system. The only difference between the contents
is that a Windows executable file has an EXE extension, an AIX or Solaris
executable has a KSH extension, and a Linux executable has no extension. When
you unpacked the SAS Content Assessment file, you specified a directory that did
not contain existing SAS Content Assessment content. In this guide,
SAS9ContentAssessment is used as an example directory. In this directory, there
are two subdirectories — assessment and migration. Here are some specific
contents (directories, executables, programs, reports, and files) within those
subdirectories that you might be interested in. These are explained in more detail in
subsequent sections.
32 Chapter 5 / Getting Started
metaparms.sas
File that contains the information to connect to the SAS Metadata Server. This
file must be edited. It is recommended that you use sas002–encoded
passwords. See Encryption in SAS for more information.
modifySASCode
Application that identifies hardcoded paths that a user will probably need to
modify when moving from SAS 9 to the SAS Viya 4 platform.
packages
Directory that contains the SAS Visual Analytics on SAS Viya report packages
that you want to import.
pathslist.txt
File that contains the list of paths that you want SAS Content Assessment
applications to search. For more information, see “setenv.yaml Settings”. The file
is encoded in UTF-8 BOM by default to ensure the proper processing of text.
This file should be used by all applications that require paths to be specified.
previewAssessedContent
Application that queries published SAS data sets for specific data points and
creates CSV files with the results. The SAS data sets are located in a data mart
specific to the SAS Content Assessment application that you are querying.
products
Directory that contains directories and SAS code for the SAS products that will
be inventoried or profiled.
profileContent
Application that profiles your SAS system’s content.
publishAssessedContent
Application that aggregates and publishes your data marts.
repos_exclusion_list.sas
File that contains the SAS Metadata Server repositories that will be excluded.
This file can be edited to add repositories. Initially, only BILineage and
REPOSMGR are listed.
setenv.yaml
YAML file that contains the environment settings that you must specify for SAS
Content Assessment to execute.
summarizelogsjavatools
Directory that contains the Java libraries for the summarizeSASLogSteps
application.
summarizeSASLogSteps
Application that analyzes SAS 9 logs and generates data in the form of a report
to help you understand the real time and CPU time for each SAS program step.
systemEvaluation
Application that examines content for possible issues that could adversely affect
upgrading from one release of SAS 9.4 to another.
utilities
Directory that contains infrastructure code and tools that facilitate the inventory
or profile application.
34 Chapter 5 / Getting Started
6
Specifying Required Settings
n pathslist.txt
The setenv.yaml file and the metaparms.sas file provided with the most current
release of SAS Content Assessment should be used instead of an existing version
of either file.
(Optional) You can edit the repos_exclusion_list.sas file.
setenv.yaml
This file is shared among all applications. However, not all settings are applicable for
every application. This file contains the environment settings required to assess
your system. The required syntax is Property: Value. A single space between
Property: and Value is required. Without it, the setting is invalid.
In the setenv.yaml file, certain properties must be set for specific applications. If a
value is not currently or explicitly set, SAS Content Assessment fails. A property
marked with an * does not have a default value and must be explicitly set by you. A
property marked with a + has a default value, but it might need to be modified. Here
is an example of a property on a Windows system with a sample value: SAS_HOME:
C:\Program Files\SASHome
setenv.yaml Settings
*SAS_HOME
SAS_JAVA_HOME
ASSESSMENT_PORT
ASSESSMENT_DATAMARTDIR
ASSESSMENT_LOGDIR
ASSESSMENT_LISTDIR
ASSESSMENT_OUTFILESDIR
ASSESSMENT_UPLOADSDIR
+ASSESSMENT_SSL_CERT_FILE
+ASSESSMENT_SAS_MEMSIZE_OPTION
ASSESSMENT_SAS_WORK_OPTION
ASSESSMENT_JAVA_XMX_OPTION
ASSESSMENT_JAVA_XMS_OPTION
LOGGING_LEVEL
setenv.yaml 37
+SAS_CODE_OUTPUT_LOCATION
+ASSESSMENT_PACKAGES_OUTPUT_LOCATION
+ASSESSMENT_FAR_PACKAGES_OUTPUT_LOCATION
ASSESSMENT_EM_BATCH_CODE_OUTPUT_LOCATION
ASSESSMENT_GRID_PACKAGES_OUTPUT_LOCATION
+ASSESSMENT_RTDM_XML_OUTPUTDIR
ASSESSMENT_INFILESDIR
+ASSESSMENT_PREVIEWSDIR
+ASSESSMENT_IBM_JEXPORT_XMLDIR
EXTRACTED_ENTERPRISE_GUIDE_PROJECTSDIR
PATHS_LIST_FILE
PRINT_MATCHES_TO_SCREEN
+ASSESSMENT_REVERSE_LEXIGRAPHICAL_SORT_ORDER
+ASSESSMENT_USE_STRICT_PATH_PARSING
*ASSESSMENT_CONFIGDIR
ASSESSMENT_RESULTSDIR
ASSESSMENT_SWEEPER_FULL_MODE
ASSESSMENT_SWEEPER_FULL_MODE System
Evaluation
public certificates for trusted certificate authorities (CAs). The following default value
is applicable to SAS 9.4M3 and higher:
$SAS_HOME/SASSecurityCertificateFramework/1.1/cacerts/trustedcerts.pem
For prior releases, you should specify the location of the public certificates.
ASSESSMENT_PACKAGES_OUTPUT_LOCATIO
N Create SAS Packages
The ASSESSMENT_PACKAGES_OUTPUT_LOCATION contains paths that are
created for packages based on their metadata folder locations. A server label
directory is also created. The first element of a path is the name of the metadata
repository from which the package's content comes. For example, SASPackages/
DemoCust/Foundation/Users/ETLADM/My_Folder or SASPackages/DemoCust/
Codegen/Pushdown_and_Validate. In these examples, Foundation and Codegen
are metadata repositories.
The default value is $BASE_DIR/SASPackages.
ASSESSMENT_FAR_PACKAGES_OUTPUT_LOC
ATION Create FAR Packages
The ASSESSMENT_FAR_PACKAGES_OUTPUT_LOCATION contains paths that
are created for packages based on their metadata folder locations. A server label
directory is also created. The first element of a path is the name of the metadata
repository from which the package's content comes. For example, SASFARPackages/
DemoCust/SASForecastServer/My_Folder . In this example, SASForecastServer is
a metadata repository.
The default value is $BASE_DIR/SASPackages.
ASSESSMENT_EM_BATCH_CODE_OUTPUT_LO
CATION Create Enterprise Miner Batch Code
The ASSESSMENT_EM_BATCH_CODE_OUTPUT_LOCATION is the location in
which the batch code is created.
40 Chapter 6 / Specifying Required Settings
ASSESSMENT_GRID_PACKAGES_OUTPUT_LO
CATION Create SAS Grid Import Data
The ASSESSMENT_GRID_PACKAGES_OUTPUT_LOCATION is the location in
which the grid data is created.
ASSESSMENT_RTDM_XML_OUTPUTDIR Profile
ASSESSMENT_IBM_JEXPORT_XMLDIR Profile
ASSESSMENT_SAS_MEMSIZE_OPTION All
Applications
EXTRACTED_ENTERPRISE_GUIDE_PROJECTS
DIR Profile and Gather SAS Code
By default, this property is commented out. Uncomment it, and use this
EXTRACTED_ENTERPRISE_GUIDE_PROJECTSDIR property to specify the path
to the directory containing SAS Enterprise Guide projects extracted from a SAS
Metadata Server. Make sure that there is enough disk space in this directory by
considering the number of SAS Enterprise Guide projects that will be extracted. This
property is set for a single machine only. This machine is the machine that you are
profiling for the other SAS metadata objects (for example, libraries, tables, and so
on).
By default, this property is used by the inventory application, the profile application,
and the gather SAS code application. The value for this property is strongly
recommended to be used by the code check applications and summarize SAS log
steps application. In previous releases of SAS Content Assessment, you could
specify locations in which to search for SAS catalogs and SAS Enterprise Guide
projects in other properties. Those properties are deprecated, so you must
exclusively specify paths in the PATHS_LIST_FILE.
For each path specified in this file, the path is recursively searched for SAS objects.
Any path that you specify must be accessible from the system on which you are
executing the application. Remember always use the metaparms.sas and
setenv.yaml file that comes with this release of SAS Content Assessment
In addition,
PRINT_MATCHES_TO_SCREEN Inventory
ASSESSMENT_REVERSE_LEXICOGRAPHICAL_
SORT_ORDER Modify SAS Code
In the mapping file for the modify SAS code application, the default sort is reverse
lexicographical order, which means /a/b/c/d is sorted before /a/b/c. If
ASSESSMENT_REVERSE_LEXICOGRAPHICAL_SORT_ORDER is set to
false, /a/b/c is sorted before /a/b/c/d.
ASSESSMENT_USE_STRICT_PATH_PARSING
Modify SAS Code
By using strict parsing rules, the modify SAS code application can create mappings
with more precise and refined lists of paths associated with code. The default value
is FALSE.
Other Directories
Other directories used by SAS Content Assessment are created by default in the
directory from which an application is executed. The environment variable
BASE_DIR is defined by SAS Content Assessment and is the directory from which
an application is executed. You can change the directory name if necessary.
ASSESSMENT_DATAMARTDIR All Applications
Root directory where all SAS data sets produced for reporting are placed. This
directory also contains any CSV files produced for reporting.
ASSESSMENT_LOGDIR All Applications
Root directory where all application-created logs are placed. Subdirectories are
created for each application.
ASSESSMENT_LISTDIR All Applications
Root directory where all SAS program listings are placed.
ASSESSMENT_INFILESDIR Profile, Code Check, Gather SAS Code, Modify SAS Code, and Create SAS Grid Import
Data Applications
Root directory where some SAS Content Assessment applications store files that
are generated for use downstream by other SAS Content Assessment
applications.
ASSESSMENT_OUTFILESDIR All Applications
Root directory where all transient content and temporary content are placed.
ASSESSMENT_UPLOADSDIR Publish Application
Root directory where files are created when the --create-uploads option is
specified on the publishAssessedContent command. A TGZ file (on UNIX) or a
ZIP file (on Windows) and a SAS file are created here.
44 Chapter 6 / Specifying Required Settings
CAUTION
Each execution of the inventory, profile, or system evaluation application validates the
existence of each root directory under BASE_DIR. If a root directory does not exist, it is
created with both the application name and METADATALABEL subdirectory. If a root
directory does exist, the METADATALABEL subdirectory is verified. If the
METADATALABEL subdirectory exists, all of its contents are removed. If the
METADATALABEL subdirectory does not exist, it is created.
metaparms.sas
Here are the contents of the metaparms.sas file with sample values:
/* Specify SAS Metadata Server connection details and encryption
password. It is recommended to use an encrypted password
such as SAS002 for all password values.
*/
%let METADATACUSTOMER = CustomerName;
%let METADATALABEL = Server1;
%let METADATAHOSTNAME = SAS Metadata Server host;
%let METADATAPORT = 8561;
%let METADATAUSER = sasadm@saspw;
%let METADATAUSERPASSWORD = sas002-encrypted password;
/* If SAS proprietary encryption is going to be used to encrypt the
published
data mart, the specified value must result in a valid SAS name.
*/
%let SASENCRYPTIONPASSWORD = password for encrypting published data
mart;
In the sample file above, you must replace the values in italic with the appropriate
values for your environment.
repos_exclusion_list.sas 45
If you need to comment out a line in the metaparms.sas file, the line must start with
a /* and end with a */. For example, here is how to comment out the value of
METADATAPORT and use another value:
/* %let METADATAPORT = 8561; */
%let METADATAPORT = 8564;
This commenting style helps applications verify required values.
Failure to specify values results in SAS Content Assessment failing validation.
The SAS Metadata Server host name, port, and user credentials are required. It is
recommended that you use a sas002-encrypted password when specifying
METADATAUSERPASSWORD. For more information, see “Overview: PWENCODE
Procedure” in Encryption in SAS.
METADATACUSTOMER identifies your site in the reports. Only alphanumeric
characters are allowed. The value cannot be longer than 60 characters.
METADATALABEL identifies the deployment being assessed. This enables you to
assess multiple deployments. The value is used as a directory name. A possible
value can be the configuration level in a planned deployment. For example, if your
deployment is at c:\SASConfig\Lev1, you could specify Lev1. Only alphanumeric
characters are allowed. The value cannot be longer than 60 characters.
METADATAHOSTNAME is the name of the SAS Metadata Server host machine,
regardless of tier being assessed. This should be a fully qualified domain host
name.
METADATAPORT is the port used to connect to the SAS Metadata Server,
regardless of tier being assessed.
METADATAUSER is an unrestricted user who performs the assessment. This user
should be the same user across all tiers.
METADATAUSERPASSWORD is the password for METADATAUSER. You must
create the password; it is not generated by the system.
SASENCRYPTIONPASSWORD needs to be set only when executing the publish
application to ensure encryption of the resulting data. You must create the
password; it is not generated by the system. To encrypt your password, see Step 3
for more information in “Overview: PWENCODE Procedure” in Encryption in SAS.
repos_exclusion_list.sas
This file specifies any SAS Metadata Server repositories that should be excluded
when assessing content. By default, SAS suggests skipping two SAS Metadata
Server repositories: BILineage and REPOSMGR. They are listed in this file. You can
add additional SAS Metadata Server repositories. System evaluation evaluates the
Foundation repository only, regardless of what is specified in this file.
46 Chapter 6 / Specifying Required Settings
47
7
Executing the Inventory
Application
Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Inventory
To run the inventory application, execute the following command from the directory
in which you unpacked or unzipped the file. Here is an example of the command on
AIX:
$ ./SAS9ContentAssessment/assessment/inventoryContent.ksh
Online Help for the inventory application can be obtained by executing the Help
command. Here is an example of the command on AIX:
$ ./SAS9ContentAssessment/assessment/inventoryContent.ksh --help
From Help, you learn that this version of the inventory application is attempting to
find known SAS objects on the file system and on the SAS Metadata Server.
Remember, SAS Content Assessment inventories SAS content. To complete this
task, the inventory application performs the following actions:
n It determines what licensed products are installed.
n It examines the SAS Deployment Registry for various actions and items.
n deploymentinfo.sas7bdat
n licenseinfo.sas7bdat
Note: If any part of the application is not successful (there were warnings or errors),
the resulting data set is not copied to the data mart because there might be data
integrity concerns. Please see any referenced logs if this happens. In addition, a log
for the entire execution is located in ASSESSMENT_LOGDIR/inventory/
METADATALABEL. The log is named using the following date and time format:
inventoryContent-yyyy-mm-dd-HH.MM.SS.log
8
Executing the Profile Application
Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Profiling SAS Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Profiling Platform Suite for SAS Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Profiling SAS Data Integration Studio Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Prioritizing SAS Data Integration Studio Jobs for Migration . . . . . . . . . . . . . . . . . . . . . . 52
Profiling SAS Enterprise Miner Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Profiling SAS Enterprise Guide Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Prioritizing SAS Enterprise Guide Projects for Migration . . . . . . . . . . . . . . . . . . . . . . . . . 55
Profiling SAS Real-Time Decision Manager Campaigns . . . . . . . . . . . . . . . . . . . . . . . . . 56
Profiling SAS Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Profiling SAS Data Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Profile
To run the profile application, execute the following command from the directory in
which you unpacked or unzipped the file. Here is an example of the command on
Windows:
C:\SAS9ContentAssessment\assessment> profileContent.exe
Online Help for the profile application can be obtained by executing the Help
command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> profileContent.exe --help
SAS objects and content are profiled based on paths specified in the
PATHS_LIST_FILE. Once the profile application completes, multiple SAS data sets
are created and located in the directory specified by
ASSESSMENT_DATAMARTDIR/profile/METADATALABEL.
50 Chapter 8 / Executing the Profile Application
Note: If any part of the application is not successful (there were warnings or errors),
the resulting data set is not copied to the data mart because there might be data
integrity concerns. Please see any referenced logs if this happens. In addition, a log
for the entire execution is located in ASSESSMENT_LOGDIR/profile/
METADATALABEL. The log is named using the following date and time format:
profileContent-yyyy-mm-dd-HH.MM.SS.log
The profile process can be executed for each SAS 9.4 deployment that exists. The
METADATALABEL value in the metaparms.sas file is used to differentiate
deployments.
By default, all SAS objects are profiled when you run profileContent.
profileContent offers additional command-line options that enable you to control
what SAS objects are profiled.
The --generate-content-list option creates a contentToBeProfiled.yaml file in
the BASE_DIR directory. This YAML file lists each type of SAS object that
profileContent is aware of. Running profileContent --generate-content-list
does not actually profile any SAS objects. Instead, when you run profileContent
--generate-content-list against an existing directory, it removes any profiled
content in that directory.
If there are certain SAS objects that you do not want to profile or that have been
problematic, edit the contentToBeProfiled.yaml file and remove them or comment
them out. Otherwise, all SAS objects are profiled. There are two SAS object types –
Platform Suite for SAS scheduled flows and SAS Real-Time Decision Manager
campaigns – that require additional configuration steps for profiling and are skipped
if not explicitly specified.
To use the contentToBeProfiled.yaml file to modify profileContent behavior,
specify the --use-content-list option. When this option is specified,
profileContent profiles only the SAS objects in the contentToBeProfiled.yaml file
(in the BASE_DIR directory).
In general, profileContent is intended to run as is, profiling all SAS objects.
IMPORTANT For the 2023.03 release and then again for the 2023.04
release, if you have been using an existing contentToBeProfiled.yaml file, be
sure to generate a new contentToBeProfiled.yaml file to retrieve updated SAS
object names.
The following is a common error after running the profile application in a SAS
Metadata Server (for Windows only):
ERROR: Error connecting to ::1:8889. (The connection was refused.)
ERROR: Unable to connect to Web server.
NOTE: PROCEDURE HTTP used (Total process time):
real time 2.09 seconds
cpu time 0.00 seconds
NOTE: 201 OK
This error message implies that a connection to the endpoint was unsuccessful.
However, PROC HTTP did create the CSV file. This error occurs because when
PROC HTTP resolves the host name to an IP address, there is an IPV6 address
and an IPV4 address. On some systems (such as Windows), the IPV6 address is
Profiling SAS Relationships 51
listed first, so PROC HTTP tries to connect to that address first. It fails and sends
the error message to the log. Then, PROC HTTP connects to the IPV4 address, and
it succeeds.
CAUTION
SAS relationships are profiled only on SAS 9.4M1 or higher. In releases prior to SAS
9.4M1, SAS relationships fail to profile, and an error message is displayed. This is
because prior to SAS 9.4M1, the SAS Intelligence Platform Object Framework did not
provide the necessary tooling.
If your SAS installation is earlier than SAS 9.4M3 or the Relationship Loader (sas-
relationship-loader) has not been run recently, specify the --load-relationships
option so that relationships are loaded for all content objects in the SAS Folders
tree. This ensures that the Relationship Reporter (sas-relationship-reporter) has the
information that it needs to produce accurate and complete reports. See “Using the
Batch Relationship Reporting Tools” in SAS Intelligence Platform: System
Administration Guide for more information.
CAUTION
The out-of-the-box settings for minimum memory used by the Relationship Loader might
not be enough. To adjust these settings, edit the file. For example, on UNIX, the file is
named SASHome/SASPlatformObjectFramework/9.4/tools/admin/sas-relationship-
loader.ini. On Windows, the file is named SASHome/SASPlatformObjectFramework/9.4/
tools/admin/sas-relationship-loader.ini Modify the minimum and maximum Java heap
settings using the following format:
JavaArgs_8=-Xms512m JavaArgs_9=-Xmx1g
These are example values. You should use values that set reasonable limits for the
system being profiled. The Relationship database can be large. If you have space
issues, omit the --load-relationships option. If there is content in the Relationship
database, profiling proceeds.
IMPORTANT You must also add the following line to the sas-relationship-
reporter.ini file. The profile application checks for this line, and you get a
warning if it is not found. This line instructs the Relationship Reporter to use
UTF-8 encoding, which ensures that all data processed can be rendered in
the reports.
JavaArgs_8=-Dfile.encoding="UTF-8"
52 Chapter 8 / Executing the Profile Application
IMPORTANT
n SAS must be installed on the same machine as SAS Enterprise Miner to
perform profiling.
n The profile application must be able to physically access the SAS
Enterprise Miner projects that it is profiling.
On Windows systems:
C:\SAS9ContentAssessment\assessment> profileContent.exe --generate-content-list
On Windows systems:
C:\SAS9ContentAssessment\assessment> profileContent.exe --use-content-list
n If you limited profiling to SAS Enterprise Miner projects, SAS Enterprise Miner
projects are profiled on this specific deployment and machine. A data mart is
created and has valid SAS data sets for SAS Enterprise Miner projects only.
There are empty data sets for all other SAS objects. This is by design and
expected. Results are located in the following location, depending on your
operating system. For example, on UNIX systems:
./SAS9ContentAssessment/assessment/datamart/profile/deployment-machine-EM
On Windows systems:
C:\SAS9ContentAssessment\assessment\datamart\profile\deployment-machine-EM
54 Chapter 8 / Executing the Profile Application
On Windows systems:
C:\SAS9ContentAssessment\assessment> profileContent.exe --generate-content-list
Profiling SAS Enterprise Guide Projects 55
On Windows systems:
C:\SAS9ContentAssessment\assessment> profileContent.exe --use-content-list
n If you limited profiling to SAS Enterprise Guide projects, SAS Enterprise Guide
projects are profiled on this specific deployment and machine. A data mart is
created and has valid SAS data sets for SAS Enterprise Guide projects only.
There are empty data sets for all other SAS objects. This is by design and
expected. Results are located in the following location, depending on your
operating system. For example, on UNIX systems:
./SAS9ContentAssessment/assessment/datamart/profile/deployment-machine-EG
On Windows systems:
C:\SAS9ContentAssessment\assessment\datamart\profile\deployment-machine-EG
A report is created for this content: SAS 9 Profile for SAS Real-Time Decision
Manager.
9
Executing the Gather SAS Code
Application
IMPORTANT Before you can successfully run the gather SAS code
application, you must run the profile application and profile SAS stored
processes, SAS catalogs, SAS Enterprise Guide projects, SAS Enterprise
Miner projects, or SAS Data Integration Studio jobs, transformations, and
deployed flows (depending on your intent). The gather SAS code application
requires input files and content created by the profile application. Otherwise,
you might get error messages or not get the results that you expect.
60 Chapter 9 / Executing the Gather SAS Code Application
To run the gather SAS code application, execute the following command from the
directory in which you unpacked or unzipped the file. Here is an example of the
command on Windows:
C:\SAS9ContentAssessment\assessment> gatherSASCode.exe
Online Help for the gather SAS code application can be obtained by executing the
Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> gatherSASCode.exe --help
For an object gathered from the file system, the application re-creates the object’s
fully qualified path under the FileSystem folder.
n It reports how many SAS stored processes use SAS code that lives in metadata.
n It reports how many SAS stored processes use SAS code that lives in file
systems.
n It writes the SAS code to the output location specified in the setenv.yaml file.
The extracted SAS code is saved to a directory based on the fully qualified path of
the stored process. For example:
gatheredSASCode/server label/SASStoredProcesses/Metadata/Testing/DataSources/StoredProcesses/
examplestoredprocess/examplestoredprocess.sas
Within that directory, a subdirectory is created for each task that contains SAS code.
For example:
gatheredSASCode/server label/SASEGProjects/tmp/EG/EGProject/Bar_Chart_RuckBhgbbhIYld6E/
In this example, the SAS Enterprise Guide task that uses SAS code is a bar chart
and the ID at the end of the name is used for uniqueness.
Within the task subdirectory, a file containing the SAS code is created. Various file
names are supported, based on the task and how the SAS code was used. In
general, SAS code embedded within the task is named TaskCode.sas or Code.sas.
External files containing SAS code retain their names.
IMPORTANT Not every SAS Enterprise Miner project has SAS code. If a
SAS Enterprise Miner project has no SAS code, the gather SAS code
application does not assess it.
The gather SAS code application requires that the profile application be run on SAS
Enterprise Miner projects first.
Every SAS Enterprise Miner project that is profiled is analyzed for projects that use
SAS code.
The extracted SAS code is saved to a directory based on the fully qualified path of
the SAS Enterprise Miner project. For example:
gatheredSASCode/server label/SASEMProjects/FileSystem/C_Drive/EM_Projects/EM14.3/user
/myproject
If applicable, a more detailed directory is created based on the fully qualified path of
the SAS Enterprise Miner project. For example, the following directory includes the
workspace and node:
gatheredSASCode/server label/SASEMProjects/FileSystem/C_Drive/EM_Projects/EM14.3/user
/myproject2/WS1/CODE1
If a SAS code source file referenced in a SAS Enterprise Miner project cannot be
found, a file named externalFileNotFound.sas is created. This file is helpful because
it indicates that a source code issue exists that might need to be addressed before
or after you migrate.
SAS Data Integration Studio Jobs Details 63
n It writes the SAS code to the output location specified in the setenv.yaml file.
The extracted SAS code is saved to a directory based on the fully qualified path of
the SAS Data Integration Studio job and any transforms. For example:
gatheredSASCode/server label/SASDIJobs/Metadata/MyMetadataRepo/DataValidation/
DataValidationJobs/AllTabsJobs/myjob
If a SAS code source file referenced in a SAS Data Integration Studio job cannot be
found, a file named externalFileNotFound.sas is created. This file is helpful because
it indicates that a source code issue exists that might need to be addressed before
or after you migrate.
64 Chapter 9 / Executing the Gather SAS Code Application
65
10
Executing the Code Check
Application
Code Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Code Check
IMPORTANT Code check results have been honed for all code gathered
from the gather SAS code application.
To run the code check application, execute the following command from the
directory in which you unpacked or unzipped the file. Here is an example of the
command on Windows:
C:\SAS9ContentAssessment\assessment> codeCheck.exe
Online Help for the code check application can be obtained by executing the Help
command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> codeCheck.exe --help
From Help, you learn that this version of the code check application is attempting to
scan SAS programs on the file system.
The code check application has the same purpose and effect in AIX, Linux, and
Windows. However, the application on AIX delivers fewer reports than Linux and
Windows.
The application requires the following parameters:
--scan-tag
Refers to this invocation of the code check application. Because SAS code can
be stored on many different machines and in different directories, multiple runs
66 Chapter 10 / Executing the Code Check Application
of the code check application might be required. If the same prefix is used for
multiple runs, the output data sets are overwritten.
--source-location
Refers to the directory in which the code check application begins. It scans that
directory and all subdirectories under it. This option is mutually exclusive with the
--sources-file option. You must specify either --source-location or --sources-file,
but not both.
--sources-file
Specifies a file containing a list of directories that code check searches for .sas
files. The file can include only paths. For this value, you should use the
pathslist.txt file delivered with SAS Content Assessment. This option is mutually
exclusive with the --source-location option. You must specify either --sources-file
or --source-location, but not both.
There is an optional --show-progress option, which shows what file of the total
number of files is being processed. This can result in performance degradation.
There is an optional --encoding option, which specifies the encoding of SAS
program files to be analyzed. Supported encodings are UTF-8 (default), LATIN1,
WLATIN1, LATIN2, WLATIN2, and LATIN9.
Once the code check application completes these actions, it produces SAS data
sets. These data sets are located in the directory specified by
ASSESSMENT_DATAMARTDIR/codeCheck.
Note: The sizing of the resulting SAS data sets has been optimized.
Details
Here are some important details about using this application:
n It classifies any file in the starting directory and any subdirectories that have an
extension of .SAS as SAS code. It adds it to the list of files to be scanned.
n It searches the files for keywords that have been identified as not compatible on
the SAS Viya platform.
n It searches the files for hardcoded paths in statements such as LIBNAME,
INFILE, FILENAME, %INC, and %INCLUDE. These occurrences might not
cause errors, but they are gathered so that they can be validated.
Details 67
Note: If any part of the application is not successful (there were warnings or errors),
the resulting data set is not copied to the data mart because there might be data
integrity concerns. Please see any referenced logs if this happens. In addition, a log
for the entire execution is located in ASSESSMENT_LOGDIR/codecheck/
METADATALABEL. The log is named using the following date and time format:
codeCheck-yyyy-mm-dd-HH.MM.SS.log
The code check application can be executed for any file system. The --scan-tag
option in the invocation of the code check application is used to differentiate
invocations.
Note: If you are code checking directories containing extracted SAS code from SAS
Enterprise Guide projects, SAS Data Integration Studio jobs, or SAS stored
processes, various SAS Viya reports provide information about whether your SAS
code is compatible on the SAS Viya platform:
n SAS 9 Code Check for SAS Enterprise Guide Projects report (not available on
AIX)
n SAS 9 Code Check for SAS Jobs report (SAS Data Integration Studio jobs)
n SAS 9 Code Check for SAS Enterprise Miner Report (not available on AIX)
68 Chapter 10 / Executing the Code Check Application
69
11
Executing the SAS Code Check
for Internationalization
Application
Online Help for the code check for i18n application can be obtained by executing
the Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> i18nCodeCheck.exe --help
From Help, you learn that this version of the code check for i18n application is
attempting to scan SAS programs on the file system.
The application requires the following parameters:
--scan-tag
Refers to this invocation of the code check for i18n application. Because SAS
i18n code can be stored on many different machines and in different directories,
70 Chapter 11 / Executing the SAS Code Check for Internationalization Application
multiple runs of the code check for i18n application might be required. If the
same prefix is used for multiple runs, the output data sets are overwritten.
--source-location
Refers to the directory in which the code check for i18n application begins. It
scans that directory and all subdirectories under it. This option is mutually
exclusive with the --sources-file option. You must specify either --source-location
or --sources-file, but not both.
--sources-file
Specifies a file containing a list of directories code check for i18n searches
for .sas files. The file can include only paths. For this value, you should use the
pathslist.txt file delivered with SAS Content Assessment. This option is mutually
exclusive with the --source-location option. You must specify either --sources-file
or --source-location, but not both.
The application has the following optional parameters:
--count-encodings
Specifies to display the total number of all possible encodings that are supported
for SAS programs to be analyzed.
--encoding
Specifies the encoding of SAS programs to be analyzed. The default is UTF-8.
--filter
Returns encodings that match (case insensitive) only the pattern specified when
used with any LIST encoding command.
--list-encodings
Specifies to display all possible encodings that are supported for SAS programs
to be analyzed.
--list-lang-encodings
Specifies to display all possible java.lang encodings that are supported for SAS
programs to be analyzed.
--list-nio-encodings
Specifies to display all possible java.nio encodings that are supported for SAS
programs to be analyzed.
--list-sas-encodings
Specifies to display all possible SAS encodings that are supported for SAS
programs to be analyzed.
--multiplier
Specifies the value used to expand the widths of SAS formats and informats or
the lengths of SAS variables. The default value is 1.
--show-progress
Specifies to show what file of the total number of files is being processed. This
can result in performance degradation.
Details 71
Once the code check for i18n application completes these actions, it produces one
SAS data set—scan-tag_results.sas7bdat. This data set is located in the directory
specified by ASSESSMENT_DATAMARTDIR/i18n.
Details
Here are some important details about using this application:
n It classifies any file in the starting directory and any subdirectories that have an
extension of SAS as SAS code. It adds these files to a list to be scanned.
n It searches files for patterns that have been identified as not i18n-compatible on
the SAS Viya platform, such as:
o embedded strings
o concatenated text strings
o locale-sensitive SAS formats/informats
o SAS string functions
o SAS string macros
o column pointer controls in the PUT and INPUT statements in a UTF-8 SAS
session
n It creates an HTML report for immediate access to results. This HTML report is
located in the directory specified by ASSESSMENT_RESULTSDIR/i18n.
n It provides several commands to list the encodings that it can use when
scanning SAS programs. Three encoding families are supported—java.nio,
java.lang, and SAS. You can use options to list encodings in each family and you
can filter for a specific pattern. For example, to see all the encodings that involve
UTF, execute the following command (on Linux):
$ ./SAS9ContentAssessment/assessment/i18nCodeCheck --list-encodings --filter UTF
Note: If any part of the application is not successful (there were warnings or errors),
the resulting data set is not copied to the data mart because there might be data
integrity concerns. Please see any referenced logs if this happens. In addition, a log
for the entire execution is located in ASSESSMENT_LOGDIR/i18n/
METADATALABEL. The log is named using the following date and time format:
i18nCodeCheck-yyyy-mm-dd-HH.MM.SS.log
Results from the code check for i18n application are in an HTML file named using
the following format:
SAS9_Code_Check_for_I18N_Results_scan_tag.html
72 Chapter 11 / Executing the SAS Code Check for Internationalization Application
73
12
Executing the Summarize SAS
Log Steps Application
Online Help for the summarize SAS log steps application can be obtained by
executing the Help command. Here is an example of the command on AIX:
$ ./SAS9ContentAssessment/assessment/summarizeSASLogSteps.ksh --help
From Help, you learn that this version of the summarize SAS log steps application is
analyzing SAS 9 logs and looking for opportunities to optimize SAS program steps.
The summarize SAS log steps application performs the following actions:
n Analyzes SAS 9 logs and generates data to help understand the real time and
CPU time for each SAS program step.
n Determines which steps exceed the configurable threshold.
n Determines where you need to look and to run code to compare execution times
in the compute server versus CAS server.
n Creates a SAS 9 Summarize SAS Log Steps report with results.
The summarize SAS log steps application has the following options:
74 Chapter 12 / Executing the Summarize SAS Log Steps Application
--encoding
Specifies the encoding of SAS program log files to analyze. The default is
UTF-8.
--scan-tag
Specifies the scan tag to use for the output data sets. This option differentiates
the various runs of this application.
--source-location
Specifies the directory in which the application searches for SAS log files.
--sources-file
Specifies a file that contains a list of directories for which the application
searches for SAS log files.
Details
n In order to determine that CAS is the optimal server, remember that for the CAS
server to process data, all data must be in CAS tables and the step must be
coded using CAS-enabled steps.
n The application reads SAS Batch Server, SAS Stored Process Server, and SAS
Workspace Server logs, as well as other SAS program logs. The data is
summarized by scanning for SAS log entries. For example:
NOTE: PROCEDURE SGPLOT used (Total process time):
real time 2.79 seconds
cpu time 0.08 seconds
In the report created by the application, you see the steps with the longest
running times. With this information, you can do the following:
o Determine which steps to consider optimizing.
o Determine where the source code is.
o Convert the steps to be CAS-enabled steps.
o Benchmark the CAS execution of the steps.
o Compare the CAS execution times with the SAS 9 Summarize SAS Log
Steps report to determine which is the optimal server for processing on the
SAS Viya platform.
n CPU-bound steps are good candidates for optimization. A CPU-bound step is a
step where the CPU time is equal or nearly equal to the real time for that step.
Generally, CPU bound means the rate at which a task progresses is limited by
the speed of the CPU.
The summarize SAS log steps application can be executed for any file system. The
--scan-tag option in the invocation of the summarize SAS log steps application is
used to differentiate invocations.
75
13
Executing the SAS 9 Application
Usage Application
To run application usage, execute the following command from the directory in
which you unpacked or unzipped the file. Here is an example of the command on
Linux:
$ ./SAS9ContentAssessment/assessment> applicationUsage
Online Help for application usage can be obtained by executing the Help command.
Here is an example of the command on Linux:
$ ./SAS9ContentAssessment/assessment> applicationUsage --help
Details
n Any data sent to SAS as feedback is obfuscated.
n SAS Object Spawner logs are used to provide application usage data. The
spawner’s Logs directory is determined by a user-configurable field in
logconfig.xml.
n There are 62 15 possible combinations of obfuscation. The available runes have
been modified to include digits 0-9, and the length of the obfuscated user name
has been increased to 15 characters.
n A CSV file with application usage information is created in the
ASSESSMENT_RESULTS directory. It includes application name, the time at
which it was accessed, and users who accessed it.
n A mapping of obfuscated user names to non-obfuscated user names is in
ASSESSMENT_RESULTSDIR.
n Results are displayed in the SAS 9 Application Usage report.
14
Executing the Create Enterprise
Miner Batch Code Application
To run the create Enterprise Miner batch code application, execute the following
command from the directory in which you unpacked or unzipped the file. Here is an
example of the command on Windows:
C:\SAS9ContentAssessment\assessment> createEMBatchCode.exe
Online Help for the create Enterprise Miner batch code application can be obtained
by executing the Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> createEMBatchCode.exe --help
The application has a VERSION option, which displays the application's version.
78 Chapter 14 / Executing the Create Enterprise Miner Batch Code Application
Details
Here are some important details about using this application:
n For applicable SAS Enterprise Miner projects, SAS code is created to define
basic project and model definitions on the SAS Viya platform.
n The application uses a setenv.yaml property named
ASSESSMENT_EM_BATCH_CODE_OUTPUT_LOCATION. This property
specifies where the batch code is created.
n A new data mart type of EMBATCHCODE is created.
n Results are displayed in the SAS 9 Enterprise Miner Batch Code Status report.
15
Executing the Publish Application
Publish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
What Does Publish Mean? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Protecting the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Merging and Publishing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Sharing Your Results with SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Publish
IMPORTANT The publish application does not apply to system evaluation,
import EG projects, import SAS packages, create SAS packages, and create
Enterprise Miner batch code.
To run the publish application, execute a command from the directory in which you
unpacked or unzipped the file.
IMPORTANT If the profile, inventory, code check, code check for i18n, or
summarize SAS log steps application was run on more than one machine, a
separate data mart was created on each machine. Before you execute the
publishAssessedContent command, each data mart must be moved to the
directory in which you unpacked or unzipped the file.
If you want to publish your data mart, the data mart type must be specified. Here is
a Linux example for the code check application:
$ ./SAS9ContentAssessment/assessment/publishAssessedContent –-datamart-type codecheck
Here is an AIX example for the code check for i18n application:
$ ./SAS9ContentAssessment/assessment/publishAssessedContent.ksh –-datamart-type i18n
Online Help for the publish application can be obtained by executing the Help
command. Here is an example of the command on Linux:
$ ./SAS9Content/assessment/publishAssessedContent –-help
n Otherwise, a key is generated. For example, a generated key might look like
the following:
d20d34cc7a612c0abf6da6467acb186c004276427e8e8517b7cac104f585c533
Note: If you use SAS Proprietary encryption to encrypt the published data mart,
the value for SASENCRYPTIONPASSWORD must be a valid SAS name. In
other words, it must meet the following requirements:
n It must be eight characters or less.
4 For either encryption method, the key is written out to a file name based on the
data mart to be published. For example: data-mart-type-assessment-key.sas.
Valid values for data mart are profile, inventory, codecheck, i18n,
summarizelogs, embatchcode, and appusage.
Note: On AIX or Linux, only the user that runs the publish application can read
the file. On Windows systems, it is recommended that the file be secured.
Note: The file is used throughout the rest of the publishing process. The file
must be referenced whenever the resulting data sets are directly accessed (for
example, when the data sets are imported for reporting purposes).
data mart and published. Only data sets with the same host can be merged and
published together.
The data can now be imported.For more information about importing the data, see
Chapter 27, “Importing the Data Mart”.
Note: When publishing a data mart for the code check applications, the publishing
process produces a third SAS data set, named codechk_keywords.sas7bdat, that
needs to be imported.
OURCustomer_profile_abcdef03470_assessment-key.sas
OURCustomer_profile_abcdef03470_reports.tgz
IMPORTANT This option works only if the --datamart-type option and the --
encrypt-aes option or --encrypt-sas option are also set. And, you cannot turn
off personal identifiable information (PII) substitution (for example, you cannot
specify the --no-pii-substitution option).
DATA step option from Programming Documentation for SAS 9.4 and SAS
Viya 3.5.
For instructions about how to send your data mart and encryption key to SAS, see
Chapter 28, “Sending Results to SAS for Analysis”.
84 Chapter 15 / Executing the Publish Application
85
16
Executing the Import SAS
Content Assessment Data and
Reports Application
Online Help for the import SAS Content Assessment data and reports application
can be obtained by executing the Help command. Here is an example of the
command on Windows:
C:\SAS9ContentAssessment\assessment> importAssessedContent.exe --help
You can use either the sas-viya CLI if you are a SAS Viya 4 user or the sas-admin
CLI if you are a SAS Viya 3.5 user. They are mutually exclusive and set by
specifying either --sas-viya-path or --sas-admin-path.
86 Chapter 16 / Executing the Import SAS Content Assessment Data and Reports Application
For both CLIs, you must download at a minimum the 1.17.11 release of the CLI and
use at a minimum the 1.20.0 release of the transfer plug-in and at a minimum the
1.13.37 release of the CAS plug-in. The CLI and plug-ins are required to create a
profile and authenticate. For more information about working with profiles, see
“Global Command: Profile” in SAS Viya Platform: Using the Command-Line
Interface. For more information about how long your CLI login token lasts, see
“Global Command: Authenticate” in SAS Viya Platform: Using the Command-Line
Interface.
For more information, see SAS Viya 3.5 Administration: Using the Command-Line
Interfaces and SAS Viya Platform: Using the Command-Line Interface.
The CLI and plug-ins are required to create a profile and authenticate. For more
information about working with profiles, see “Global Command: Profile” in SAS Viya
Platform: Using the Command-Line Interface. For more information about how long
your CLI login token lasts, see “Global Command: Authenticate” in SAS Viya
Platform: Using the Command-Line Interface.
The application has the following options:
--create-profile
Specifies to create a SAS Viya command-line interface profile. This option
cannot be used with single sign-on and Kerberos authentication patterns.
Prompting for required values and credentials occurs.
--profile
Specifies to use a specific SAS Viya command-line interface profile during
import. This profile must already be created. The user must have authenticated
to SAS Viya using any valid authentication pattern.
Prompting for credentials does not occur.
--sas-viya-path
Specifies the fully qualified path to the SAS Viya CLI. Specify this option when
importing to SAS Viya 4.
--sas-admin-path
Specifies the full -qualified path to the SAS Admin CLI. Specify this option when
importing to SAS Viya 3.
--datamart-type
Specifies what type of data mart to import. Valid values are profile, inventory,
codecheck, i18n, summarizelogs, embatchcode, and appusage.
--caslib
Specifies the destination CAS library. The default value is public.
--server
Specifies the destination CAS server. The default value is cas-shared-default.
--version
Displays the application's version.
Details
Here are some important details about using the import SAS Content Assessment
data and reports application:
Details 87
n The application overwrites any existing SAS Content Assessment data and
reports.
17
Executing the Preview Assessed
Content Application
Online Help for the preview assessed content application can be obtained by
executing the Help command. Here is an example of the command on Linux:
$ ./SAS9ContentAssessment/assessment> previewAssessedContent --help
The application has a --datamart-type option, which specifies what type of data mart
on which to run the preview assessed content application. Currently, valid values
are codecheck and inventory.
90 Chapter 17 / Executing the Preview Assessed Content Application
Details
Here are some important details about using the preview assessed content
application:
n The publish application must be run first.
18
Executing the Create FAR
Packages Application
Online Help for the create FAR packages application can be obtained by executing
the Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> createFARPackages.exe --help
Details
Here are some important details about using this application:
n The application uses a CSV file to determine what can be migrated. A CSV file
should not be edited except to delete projects so that they will not be packaged.
Each project requires a separate CSV file.
o To create a CSV file for SAS Forecast Server projects, in the SAS 9 Profile
for SAS Forecast Server report, select the Projects tab. In a table, right-click,
and select Export data. In the Export Data window, make sure that Detailed
data is not selected and that the File type is Comma-separated values
(*.csv).
n The application uses a setenv.yaml property named
ASSESSMENT_FAR_PACKAGES_OUTPUT_LOCATION. This location contains
paths that are created for packages based on their metadata folder locations. A
server label directory is also created. The first element of the path is the name of
the metadata repository from which the package's content comes. For example,
SASFARPackages/DemoCust/SASForecastServer/My_Folder. In this example,
SASForecastServer is a metadata repository. A server label directory is also
created. The default value for
ASSESSMENT_FAR_PACKAGES_OUTPUT_LOCATION is $BASE_DIR/
SASFARPackages.
n A FAR package is named based on its content. If a FAR package contains a
SAS Forecast Server project named MyForecasts, the FAR package is named
MyForecasts.spk.
n A log file for each package’s creation is included in the value specified for
ASSESSMENT_FAR_PACKAGES_OUTPUT_LOCATION. For example, for the
MyForecasts FAR package, there is a MyForecasts_ExportPackage.log file.
n If the metadata path of a project or the name of the project contains an
unsupported character for its file system, the unsupported character is
substituted.
19
Executing the Create SAS
Packages Application
Online Help for the create SAS packages application can be obtained by executing
the Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> createSASPackages.exe --help
Details
Here are some important details about using this application:
n The application uses a CSV file to determine what can be migrated. A CSV file
should not be edited except to delete objects so that they will not be packaged.
Each type of object requires a separate CSV file.
o To create a CSV file for SAS Data Integration Studio jobs, transformations,
and deployed flows, in the SAS 9 Profile for SAS Data Integration report,
select the Job Migration tab. In a table, right-click, and select Export data.
In the Export Data window, make sure that Detailed data is not selected and
that the File type is Comma-separated values (*.csv). Only jobs that use
user-written transforms are included in this CSV file.
o To create a CSV file for SAS stored processes, in the SAS 9 Code Check for
SAS Stored Processes report, select the Compatible Stored Processes tab.
In the list, right-click, and select Export data. In the Export Data window,
make sure that the File type is Comma-separated values (*.csv).
n The application uses a setenv.yaml property named
ASSESSMENT_PACKAGES_OUTPUT_LOCATION. This location contains
paths that are created for packages based on their metadata folder locations.
The first element of the path is the name of the metadata repository from which
the package's content comes. For example, SASPackages/DemoCust/
Foundation/Users/ETLADM/My_Folder or SASPackages/DemoCust/Codegen/
Pushdown_and_Validate. In these examples, Foundation and Codegen are
metadata repositories. A server label directory is also created. The default value
for ASSESSMENT_PACKAGES_OUTPUT_LOCATION is $BASE_DIR/
SASPackages.
n A SAS package is named based on its object. If a SAS package contains a SAS
Data Integration Studio job named MyJob, the SAS package is named
MyJob.spk. If a SAS package contains a SAS stored process named
MyStoredProcess, the SAS package is named MyStoredProcess.spk.
n A log file for each package’s creation is included in the value specified for
ASSESSMENT_PACKAGES_OUTPUT_LOCATION. For example, for the
MyJob SAS package, there is a MyJob_ExportPackage.log file. For the
MyStoredProcess SAS package, there is a
MyStoredProcess_ExportPackage.log file.
n If the metadata path of an artifact or the name of the artifact contains an
unsupported character for its file system, the unsupported character is
substituted.
SAS Stored Processes Packaging 95
TIP You can add the external account to the SAS Administrators group to
grant access to all stored processes. However, the external account must
also have access to all external source code files to be packaged.
A log file for each package’s creation is included in the value specified for
ASSESSMENT_PACKAGES_OUTPUT_LOCATION. For example, for the MyJob
SAS package, there is a MyJob_ExportPackage.log file. For the MyStoredProcess
SAS package, there is a MyStoredProcess_ExportPackage.log file.
96 Chapter 19 / Executing the Create SAS Packages Application
97
20
Executing the Create SAS Grid
Import Data Application
To run the create SAS grid import data application, execute the following command
from the directory in which you unpacked or unzipped the file. Here is an example of
the command on Windows:
C:\SAS9ContentAssessment\assessment> createSASGridImportData.exe
Online Help for the create SAS grid import data application can be obtained by
executing the Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> createSASGridImportData.exe --help
--source-file
Specifies the location of the CSV file that contains the SAS metadata artifacts to
create packages. This file can be created from the SAS 9 Profile for SAS
Servers report.
--version
Displays the application's version.
Details
Here are some important details about using this application:
n The application uses a setenv.yaml property named
ASSESSMENT_GRID_PACKAGES_OUTPUT_LOCATION. This property
specifies where the grid data is created.
n SAS Grid Server option sets are imported, but are not currently used.
n The application can use a CSV file to select which SAS Grid server and
SAS/CONNECT server pairs are migrated. To create this CSV file, in the SAS 9
Profile for SAS Servers report, select the Migration Status tab. Filter the table
for migration selection. In the table, right-click, and select Export data. In the
Export Data window, ensure that Detailed data is not selected and that File type
is Comma-separated values (*.csv). Use the resulting CSV file location as the
value for the --source-file option.
n A log file is created in ASSESSMENT_LOGDIR/createSASGridImportData. The
log is named using the following date and time format:
createSASGridImportData-yyyy-mm-dd-HH.MM.SS.log
99
21
Executing the Modify SAS Code
Application
To run the modify SAS code application, execute the following command from the
directory in which you unpacked or unzipped the file. Here is an example of the
command on Windows:
C:\SAS9ContentAssessment\assessment> modifySASCode.exe
Online Help for the modify SAS code application can be obtained by executing the
Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\assessment> modifySASCode.exe --help
From Help, you learn that this version of the modify SAS code application is
attempting to modify paths of SAS program files.
The application has the following options:
--generate-map
Specifies the name of the mapping file that will be generated with the mapping of
old paths to new paths, based on code check results associated with the
specified --scan-tag option. This option is mutually exclusive with --map-file.
100 Chapter 21 / Executing the Modify SAS Code Application
--map-file
Specifies the mapping file of old paths to new paths, based on code check
results associated with the specified --scan-tag option. This option is mutually
exclusive with --generate-map.
--output-location
Specifies the directory to which to write the updated SAS program files.
--scan-tag
Specifies the scan tag to use that corresponds to the code check results to
process. This option is case-sensitive. You must specify the exact same value
(including same casing) for --scan-tag as you did for code check.
Details
Here are some important details about using this application:
n Code check results are copied to the ASSESSMENT_INFILES directory. The
modify SAS code application uses these results to generate a mapping CSV file
in a specified output location. You edit the mapping CSV file with new paths that
work on the SAS Viya platform.
n The modify SAS code application uses the mapping CSV file to apply the new,
modified paths to the SAS program files.
n It makes all updates in new copies of the SAS program files in the specified
output location. It does not update any original SAS program files.
n For each update, comments for the update are written to the new SAS program
files. Comments are written using a %* .... ; format.
n You can delete an entry in the mapping CSV file if you do not need it or it is
wrong. You do not need to rerun the modify SAS code application.
n You can edit mapping data in the mapping CSV file at any time. You do not need
to rerun the modify SAS code application.
The modify SAS code application can be executed for any file system.
101
22
Executing the Import EG
Projects Application
Import EG Projects
The import EG projects application imports SAS Enterprise Guide projects on the
file system to the SAS Viya 4 platform. This application is located in the migration
subdirectory.
To run the import EG projects application, execute the following command from the
directory in which you unpacked or unzipped the file. Here is an example of the
command on Windows:
C:\SAS9ContentAssessment\migration> importEGProjects.exe
Online Help for the import EG projects application can be obtained by executing the
Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\migration> importEGProjects.exe --help
In addition, you must download at a minimum the 1.17.11 release of the SAS Viya
Command-Line Interface (CLI) and use at a minimum the 1.20.0 release of the
transfer plug-in. The CLI and plug-in are required to create a profile and
authenticate. For more information about working with profiles, see “Global
Command: Profile” in SAS Viya Platform: Using the Command-Line Interface. For
more information about how long your CLI login token lasts, see “Global Command:
Authenticate” in SAS Viya Platform: Using the Command-Line Interface.
The application has the following options:
102 Chapter 22 / Executing the Import EG Projects Application
--create-profile
Specifies to create a SAS Viya command-line interface profile. This option
cannot be used with single sign-on and Kerberos authentication patterns.
Prompting for required values and credentials occurs, such as a service endpoint
and a fully qualified path to the trusted certificate if the system is configured for
TLS through HTTPS.
--profile
Specifies to use a specific SAS Viya command-line interface profile during
import. This profile must already be created. The user must have authenticated
to SAS Viya using any valid authentication pattern.
Prompting for credentials does not occur.
--root-folder
Specifies the folder to use as the starting point for all folders created during the
import process. The default is ConvertedEGProjects.
--sas-viya-path
Specifies the fully qualified path to the SAS Viya CLI.
--source-file
Specifies the fully qualified path to the CSV file containing a list of SAS
Enterprise Guide projects. Either this option or the --source-location option is
required and both are mutually exclusive.
--source-location
Specifies the path to a directory containing SAS Enterprise Guide projects.
Either this option or the --source-file option is required and both are mutually
exclusive.
--version
Displays the application's version.
Details
Here are some important details about using this application:
n You can bulk-import SAS Enterprise Guide project (EGP) files.
Note: A log file is created in the location from which the application is run. The log
is named using the following date and time format:
importEGProjects-yyyy-mm-dd-HH.MM.SS.log
Sample Output
Here is some sample output from the importEGProjects command:
Validating the specified settings
Validating the specified settings: SUCCESS
Userid: youradm
Password:
Authenticating to SAS Viya: SUCCESS
Results
To understand the results of your import, extract the import history from your target
SAS Viya 4 system using the transfer plug-in of the SAS Viya Command-Line
Interface (CLI). For example:
sas-viya.exe transfer import-history --all -f importHist.csv
Now, import and load the CSV file into CAS. For example:
sas-viya.exe cas tables import csv --server cas-shared-default --caslib
SystemData --contains-header-row --scan-rows 99999 --replace --force --table
ImportedItems --source-file ./importHist.csv --super-user
Also, review your report. The Migration Summary Report contains valuable
information about the resources that you migrated. Select the Content page in
SAS Environment Manager. Navigate to the folder SAS Content ð Products ð
SAS Environment Manager ð Dashboard Items.
105
23
Executing the Import FAR
Packages Application
Online Help for the import FAR packages application can be obtained by executing
the Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\migration> importFARPackages.exe --help
In addition, you must download at a minimum the 1.17.11 release of the SAS Viya
Command-Line Interface (CLI) and use at a minimum the 1.0.0 release of the visual
forecasting plug-in. The CLI and plug-in are required to create a profile and
authenticate. For more information about working with profiles, see “Global
Command: Profile” in SAS Viya Platform: Using the Command-Line Interface. For
more information about how long your CLI login token lasts, see “Global Command:
Authenticate” in SAS Viya Platform: Using the Command-Line Interface.
--create-profile
Specifies to create a SAS Viya command-line interface profile. This option
cannot be used with single sign-on and Kerberos authentication patterns.
Prompting for required values and credentials occurs.
--profile
Specifies to use a specific SAS Viya command-line interface profile during
import. This profile must already be created. The user must have authenticated
to SAS Viya using any valid authentication pattern.
Prompting for credentials does not occur.
--sas-viya-path
Specifies the fully qualified path to the SAS Viya CLI.
--source-location
Specifies the path to a directory containing FAR packages.
--version
Displays the application's version.
Details
Here are some important details about using the import SAS Packages application:
n Only authorized users can import FAR packages.
n When importing large volumes of FAR packages, the import can be broken down
into multiple imports to best manage performance and troubleshooting.
Note: A log file is created in the location from which the application is run. The log
is named using the following date and time format:
importFARPackages-yyyy-mm-dd-HH.MM.SS.log
Results
To understand the results of your import, see “Importing Projects from SAS Forecast
Server” in SAS Visual Forecasting: User’s Guide.
107
24
Executing the Import SAS
Packages Application
Online Help for the import SAS packages application can be obtained by executing
the Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\migration> importSASPackages.exe --help
In addition, you must download at a minimum the 1.17.11 release of the SAS Viya
Command-Line Interface (CLI) and use at a minimum the 1.20.0 release of the
transfer plug-in. The CLI and plug-in are required to create a profile and
authenticate. For more information about working with profiles, see “Global
Command: Profile” in SAS Viya Platform: Using the Command-Line Interface. For
more information about how long your CLI login token lasts, see “Global Command:
Authenticate” in SAS Viya Platform: Using the Command-Line Interface.
--create-profile
Specifies to create a SAS Viya command-line interface profile. This option
cannot be used with single sign-on and Kerberos authentication patterns.
Prompting for required values and credentials occurs.
--profile
Specifies to use a specific SAS Viya command-line interface profile during
import. This profile must already be created. The user must have authenticated
to SAS Viya using any valid authentication pattern.
Prompting for credentials does not occur.
--sas-viya-path
Specifies the fully qualified path to the SAS Viya CLI.
--source-location
Specifies the path to a directory containing SAS packages.
--version
Displays the application's version.
Details
Here are some important details about using the import SAS Packages application:
n Only authorized users can import SAS packages.
n When importing large volumes of SAS packages, the import can be broken down
into multiple imports to best manage performance and troubleshooting.
n The import SAS packages application no longer stops when it cannot read a file
or directory. Now, it skips the file or directory, informs the user of read failures,
and continues.
Note: A log file is created in the location from which the application is run. The log
is named using the following date and time format:
importSASPackages-yyyy-mm-dd-HH.MM.SS.log
Results
To understand the results of your import, extract the import history from your target
SAS Viya 4 system using the transfer plug-in of the SAS Viya Command-Line
Interface (CLI). For example:
sas-viya.exe transfer import-history --all -f importHist.csv
Now, import and load the CSV file into CAS. For example:
sas-viya.exe cas tables import csv --server cas-shared-default --caslib
Results 109
Also, review your report. The Migration Summary Report contains valuable
information about the resources that you migrated. Select the Content page in
SAS Environment Manager. Navigate to the folder SAS Content ð Products ð
SAS Environment Manager ð Dashboard Items.
110 Chapter 24 / Executing the Import SAS Packages Application
111
25
Executing the Import SAS Grid
Packages Application
Online Help for the import SAS grid packages application can be obtained by
executing the Help command. Here is an example of the command on Windows:
C:\SAS9ContentAssessment\migration> importSASGridPackages.exe --help
In addition, you must download at a minimum the 1.17.11 release of the SAS Viya
Command-Line Interface (CLI) and use at a minimum the 1.20.0 release of the
transfer plug-in . The CLI and plug-in are required to create a profile and
authenticate. For more information about working with profiles, see “Global
Command: Profile” in SAS Viya Platform: Using the Command-Line Interface. For
more information about how long your CLI login token lasts, see “Global Command:
Authenticate” in SAS Viya Platform: Using the Command-Line Interface.
IMPORTANT Only authorized users can import SAS grid transfer packages.
--create-profile
Specifies to create a SAS Viya command-line interface profile. This option
cannot be used with single sign-on and Kerberos authentication patterns.
Prompting for required values and credentials occurs.
--profile
Specifies to use a specific SAS Viya command-line interface profile during
import. This profile must already be created. The user must have authenticated
to SAS Viya using any valid authentication pattern.
Prompting for credentials does not occur.
--sas-viya-path
Specifies the fully qualified path to the SAS Viya CLI.
--source-location
Specifies the directory containing SAS grid transfer packages.
--version
Displays the application's version.
Note: A log file is created in the location from which the application is run. The log
is named using the following date and time format:
importSASGridImportData-yyyy-mm-dd-HH.MM.SS.log
Results
To understand the results of your import, extract the import history from your target
SAS Viya 4 system using the transfer plug-in of the SAS Viya Command-Line
Interface (CLI). For example:
sas-viya.exe transfer import-history --all -f importHist.csv
Now, import and load the CSV file into CAS. For example:
sas-viya.exe cas tables import csv --server cas-shared-default --caslib
SystemData --contains-header-row --scan-rows 99999 --replace --force --table
ImportedItems --source-file ./importHist.csv --superuser
Also, review your report. The Migration Summary Report contains valuable
information about the resources that you migrated. Select the Content page in
SAS Environment Manager. Navigate to the folder SAS Content ð Products ð
SAS Environment Manager ð Dashboard Items.
113
26
Executing the System Evaluation
Application
System Evaluation
IMPORTANT To run the system evaluation application, you must be the
Installer user account or a user capable of reading all files in the specified
SASHome and SAS configuration directory. System evaluation works only on
a machine where there is a SAS configuration. You must specify a valid --
config-dir or the application fails. System evaluation must be run on each
configured machine in a SAS deployment and it expects a SAS middle tier
present in each deployment that it validates. On a multi-tier SAS deployment,
you must use a different METADATALABEL value for each tier to avoid
overwriting results.
Execute the following command from the directory in which you unpacked or
unzipped the file. Here is the example of the command in Linux:
$ ./SAS9ContentAssessment/assessment/systemEvaluation
Online Help for system evaluation can be obtained by executing the Help command.
Here is an example of the command in Linux:
$ ./SAS9ContentAssessment/assessment/systemEvaluation --help
114 Chapter 26 / Executing the System Evaluation Application
The system evaluation application has the same purpose and effect in AIX, Linux,
Solaris, and Windows. However, the way in which the application interacts with the
system it is evaluating is different in AIX.
The application requires one parameter. --config-dir specifies the SAS configuration
directory to evaluate. This parameter can be set in the setenv.yaml file.
An optional command-line argument is --sweeper-only. If this argument is
specified, the application does not run any tests. Instead, it collects content and
archives it. For more information, see “Results”.
System evaluation supports SAS Metadata Servers configured for various
encryption algorithms, including SAS Proprietary and Advanced Encryption
Standard (AES). System evaluation also supports SAS deployments configured for
Transport Layer Security (TLS) usage. If your system is configured for TLS, you
should specify the location of the public certificates for trusted certificate authorities
(CAs) when providing the required settings.
System evaluation performs many checks. Here are some of the more important
ones:
n It searches SAS metadata for errors and issues based on the products
associated with the specified SAS configuration directory.
n It validates SAS configuration and installation files.
o The SAS Deployment Registry is validated against all software in the system.
If you installed SAS software from the SAS Customer Support site, system
evaluation validates this software only if it was installed in the primary SAS
installation directory on the current machine.
o Potential issues are reported.
n It validates SAS configuration log files and reports potential issues.
n System evaluation searches for any retired SAS software configuration. If one is
found, you are informed of the name of the product associated with the SAS
software configuration and encouraged to remove this product’s configuration.
For more information, see “Removing a SAS Configuration” in SAS Intelligence
Platform: Installation and Configuration Guide.
n Any differences in how the user connects to the SAS Metadata Server, as well
as its host and port values, are logged for the user to investigate.
Product-Specific Evaluation
System evaluation checks the values for the maximum connections and maximum
prepared transactions in the SAS Web Infrastructure Platform Data Server. The SAS
Web Infrastructure Platform Data Server is often deployed with both maximum
connections and maximum prepared transactions set to 256. The values of
maximum connections and maximum prepared transactions must be equal. SAS
recommends a setting of at least 1024 to ensure success during SAS software
upgrades. A value of 1024 or higher is not required for day-to-day operations,
unless your site differs. After a SAS software upgrade, the value can be reset to
256.
Results 115
For more information, see “Tuning the PostgreSQL Data Server” in SAS Web
Applications: Tuning for Performance and Scalability.
System evaluation checks assorted configuration settings for the SAS Cache
Locator. If recommended settings are missing or not set to the recommended value,
the user is informed and referred to Problem Note 64098: SAS Cache Locator
failures during heap-dump collection. For more information about these
configuration properties, see “Configure JVM Options for the Cache Locator” in SAS
Intelligence Platform: Middle-Tier Administration Guide and “Understanding SAS
Web Application Server Configuration” in SAS Intelligence Platform: Middle-Tier
Administration Guide.
Some products require special handling. System evaluation searches for these
products and informs the user if any are found with instructions to contact SAS
Technical Support for more information.
For example, if SAS Federation Server Manager 4.1 is installed on your system, you
must remove it before performing an upgrade in place. SAS Federation Server
Manager 4.2 or higher includes significant SAS Deployment Topology changes.
After the upgrade in place has completed, you can install SAS Federation Server
Manager 4.2 or higher.
Results
Once system evaluation is completed, it can create up to two directories:
ASSESSMENT_DATAMARTDIR and ASSESSMENT_RESULTSDIR.
It creates an ASSESSMENT_DATAMARTDIR directory of comma-separated values
(CSV) files for each machine. It contains content discovered and derived during the
evaluation.
A compressed archive file is created in the ASSESSMENT_RESULTSDIR directory
on each machine that is evaluated. Because this file contains all SAS configuration
logs and other relevant files, make sure you have enough disk space. A way to
estimate disk space is to make sure you have enough for the log files you currently
have.
The file is named using the following format:
CollectedResults_short-host-name_config-level.tgz
Its content is controlled by the ASSESSMENT_SWEEPER_FULL_MODE setting,
specified in the setenv.yaml file. Because the default setting for this property is
TRUE, the following content is included:
n SAS Deployment Registry content
1. Not all content is archived on all machines and is dependent on the SAS products installed and configured.
116 Chapter 26 / Executing the System Evaluation Application
For example, suppose your log file has the following content:
SAS9CASE-LOGCHECK
SAS9CASE-STATUSXMLMULTIORDERS
n SummaryReport_short-host-name_config-level.html
n TopologyReport_short-host-name_config-level.html
The summary report is always created on each machine where system evaluation is
run. It contains system configuration settings relevant to the SAS deployment,
helpful documentation links, a table detailing the tests executed, and the total
number of issues found. If issues are found or a warning is necessary, the table
contains additional information about what failed and what you should do.
The topology report is created only on the SAS Metadata Server tier. It contains an
HTML rendition of the deployment topology of all SAS products that are configured.
The report describes each machine in the deployment and the products that are
configured.
If you need to copy the content of these reports, be sure to copy the entire
SummaryReports subdirectory and its contents.
Immediate Failures
The system evaluation application immediately fails if certain checks determine
critical problems in your deployment. The application stops, and an error message
provides information and, in some cases, steps to address the critical problem.
The application fails if a valid --config-dir is not specified. The application works only
on a machine where there is a SAS configuration.
The application fails if certain critical installation or configuration files are missing or
empty. There are two primary files that are validated. The status.xml file is in the
specified SAS configuration directory. For example, on Linux:
/opt/sas/config/Lev1/ConfigData
Or, on Windows:
C:\SASConfig\Lev1\ConfigData
Or, on Windows:
C:\Program Files\SASHome\deploymntreg
If you receive an error message, verify that these files exist, that they are not empty,
and that they are accessible by the user running system evaluation. Other critical
files are validated, but they do not cause the application to fail.
The application fails if the METADATAHOSTNAME and METADATAUSER values in
the metaparms.sas file and the metadata.connection.properties do not match. The
metadata.connection.properties file is in the specified SAS configuration directory.
For example, on Linux:
/opt/sas/config/Lev1/Utilities
Or, on Windows:
C:\SASConfig\Lev1\Utilities
118 Chapter 26 / Executing the System Evaluation Application
The application fails if invalid credentials are discovered. Credentials provided in the
metadata.sas file are validated, depending on the deployment tier being evaluated.
On a tier with SAS installed, invalid credentials cause system evaluation to fail as it
tries to determine SAS metadata repositories. On a tier without SAS installed,
system evaluation fails when communicating with the SAS Metadata Server to
determine middle-tier connection information.
The application fails on Linux if the user running it is not the user who installed and
configured the SAS software on the machine. On Windows, system evaluation does
not fail if the user running it is not the user who installed and configured the SAS
software on the machine, but it warns you that problems might occur during the
evaluation.
The application validates whether the user is authorized to view results before a
specific scan begins. If the user is not authorized, the application fails immediately
before the scan.
119
27
Importing the Data Mart
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Import the SAS Content Assessment Data into CAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Import a SAS Content Assessment Report onto the SAS Viya Platform . . . . . . . . 120
Viewing SAS Content Assessment Reports on the SAS Viya Platform . . . . . . . . . 121
Overview
Data marts for profile, inventory, codecheck, i18n, summarizelogs, embatchode, and
appusage can be imported for review.
If encryption was requested during the publishing process, the password key in the
assessment-key.sas file must be used. When using AES encryption, enter the key in
the Encryption key field in SAS Data Explorer under File Specifications. When
using SAS Proprietary encryption, enter the key in the Password field under File
Specifications.
Note: If the local file system is accessible, the SAS data sets might be copied
directly to the source location (physical path) of the caslib. See “Caslibs” in SAS
Cloud Analytic Services: Fundamentals for more information.
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_Data_Integration.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_Data_Integration_Sup.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_Data_Integration_Scheduling.json
n assessment/packages/profile/SAS_9_CA_Profile_for_SAS_Prompts.json
n assessment/packages/profile/SAS_9_CA_Profile_for_SAS_Reports.json
n assessment/packages/profile/SAS_9_Content_Assessment_Profile.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_VisualDataBuilder.json
n assessment/packages/profile/SAS_9_CA_Profile_for_Info_Maps.json
n assessment/packages/profile/SAS_9_CA_Profile_for_OLAP_Cubes.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_Enterprise_Miner.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_Enterprise_Guide.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_Stored_Processes.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_Libraries_Tables.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_Forecast_Server.json
Viewing SAS Content Assessment Reports on the SAS Viya Platform 121
n assessment/packages/profile/SAS_9_CA_Profile_for_SAS_Servers.json
n assessment/packages/profile/SAS_9_CA_Profile_for_SAS_Data_Sets.json
n assessment/packages/profile/
SAS_9_CA_Profile_for_SAS_RealTimeDecisionMgr.json
n assessment/packages/codeCheck/SAS_9_Code_Check_for_SAS_Viya.json
n assessment/packages/codeCheck/SAS_9_Code_Check_for_EG_Projects.json
n assessment/packages/codeCheck/SAS_9_Code_Check_for_EM_Projects.json
n assessment/packages/codeCheck/SAS_9_Code_Check_for_DI_Jobs.json
n assessment/packages/codeCheck/
SAS_9_Code_Check_for_Stored_Processes.json
n assessment/packages/i18n/
SAS_9_Code_Check_for_Internationalization.json
n assessment/packages/summarizelogs/SAS_9_Summarize_Log_Steps.json
n assessment/packages/appusage/SAS_9_Application_Usage.json
n assessment/packages/embatchcode/
SAS_9_CA_Batch_Code_for_SAS_Enterprise_Miner.json
For more information, see “Migrate Using SAS Environment Manager” in SAS Viya
Platform: Content Migration from SAS Viya.
n In this scenario, an individual JSON file is a report package.
n Values such as the caslib containing the imported data can be changed.
After the import, here are the folders where reports are located:
n /Public/SAS Content Assessment/Application Usage
From these locations, you can open a report with SAS Visual Analytics. See SAS
Visual Analytics: Overview for more information.
123
28
Sending Results to SAS for
Analysis
3 Upload the published and encrypted data mart using the link provided in the
email. Upload the encryption key. For more information, see “Protecting the
Data”.
4 Ensure that you receive an email back from the SAS Account Team that it
received your data mart and encryption key. If you do not hear from the team
within five business days, please send an email to
[email protected].
The SAS Account Team looks at each object type to determine how much content
can be converted to the SAS Viya platform. The team researches whether
equivalent objects are available on the SAS Viya platform. In some cases, the team
can share SAS Viya product release cycles that are beneficial to you. The SAS
Account Team and you jointly develop a migration proposal and roadmap so that
you can start your move to the SAS Viya platform!
124 Chapter 28 / Sending Results to SAS for Analysis
125
29
Reference
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Gather SAS Code Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Gather SAS Code Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Overview
This section contains information that might be helpful as you run the SAS Content
Assessment applications.
n There are 24 embedded and 819 external, which equals 843 total.
n 819 external stored processes used 449 unique SAS program files on the file
system based on metadata. Some SAS program files were reused.
n Of the 449 unique SAS program files, only 430 of them existed or were
reachable.
n 24 embedded SAS stored processes were written to the selected output location.
n 430 external SAS stored processes were written to the selected output location.
30
Version History
Summary of 2021.1.2
n SAS 9 Content Assessment now follows SAS Viya release numbering.
Summary of 2021.1.3
n You must add a line to the sas-relationship-loader.ini file. The profile application
checks for this line, and you get a warning if it is not found. This line instructs the
Relationship Reporter to use UTF-8 encoding, which ensures that all data
processed can be rendered in the reports.
n After prompts are profiled in a SAS Metadata Server, you might receive an error
message in the log (for Windows only). This error message implies that a
Summary of 2021.1.4 129
connection to the endpoint was unsuccessful. However, PROC HTTP did create
the CSV file.
n On the Incompatible tab in the SAS 9 Code Check for SAS Viya report,
hardcoded paths are no longer listed. There is a new tab, Hard-Coded Path,
that shows this information.
n Using the profile application, you can see additional SAS Data Integration Studio
transforms that can be migrated.
n Customers viewing the SAS 9 Code Check for SAS Enterprise Guide Projects
report using SAS Visual Analytics on SAS Viya 3.4 can now see updates,
including results from code check for SAS Enterprise Guide projects.
n The code check application no longer stops when it cannot read a file or
directory.
n The profile application for SAS Enterprise Guide projects no longer stops when it
cannot read a file or directory.
n The system evaluation application no longer stops when it cannot read a file or
directory.
n Ensure that all SAS Data Integration objects are profiled together.
n The gather SAS code application on AIX also gathers SAS code from SAS Data
Integration Studio jobs.
n The data model for the code check application more accurately reports a path
issue versus a compatibility issue.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2021.1.4
n The import EG projects application no longer stops when it cannot read a file or
directory.
n The import SAS packages application no longer stops when it cannot read a file
or directory.
n The code check application’s performance has been significantly enhanced on
AIX.
n A redesign of reports showing code check results delivers answers in a common
layout. This uniform design makes the reports cleaner and easier to work with.
Results from code check appear in the SAS 9 Code Check for SAS Enterprise
Guide Projects report, the SAS 9 Code Check for SAS Jobs report, and the SAS
9 Code Check for SAS Viya report.
n The publish application now obfuscates email addresses.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
130 Chapter 30 / Version History
Summary of 2021.1.5
n The data model for the inventory application has been refactored for optimized
sizes. The inventory process now creates smaller data sets.
n In the SAS 9 Profile for SAS Enterprise Guide report, SAS Enterprise Guide
projects that contain prompts or control links are identified as concerns in the
section on migration.
n The system evaluation application has been modified to more accurately test for
the presence of multiple JVM_OPTIONS entries.
n When using the SAS Visual Analytics 7.5 reports, publishing has been modified
so that all tables that have already been published to the SAS LASR Analytic
Server are replaced.
n When creating archives to be uploaded to SAS, all data sets are now
compressed using SAS data set compression. This is done automatically to save
space and does not require user interaction.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2021.1.6
n In the SAS 9 Profile for SAS Enterprise Guide report, SAS Enterprise Guide
projects that contain conditional processing, information maps, or OLAP cubes
are identified as concerns in the section on migration.
n A new SAS 9 Code Check for SAS Stored Processes report is available for SAS
code gathered from SAS stored processes.
n The SAS 9 Code Check for SAS Viya report includes SAS Enterprise Miner
projects results.
n The gather SAS code application gathers SAS Enterprise Miner projects.
n The create SAS packages application creates SAS packages for SAS stored
processes.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2021.2.2 131
Summary of 2021.2.1
n The profile application profiles SAS Access Control Templates (ACTs).
n The data model for the profile application, specifically SAS Enterprise Guide
projects, has been refactored for optimized sizes. The profile process now
creates smaller data sets for SAS Enterprise Guide content.
n The create SAS packages application has improved. During package creation,
an unsupported character in a metadata path or in a package name is
substituted.
n The data model for the code check application has added content to preserve
original paths and object names.
n A new SAS 9 Code Check for SAS Enterprise Miner Projects report is available
for SAS code gathered from SAS Enterprise Miner projects.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2021.2.2
n A new application—code check for i18n—attempts to find known
internationalization issues in SAS programs on Windows and Linux.
n The data model for the profile application, specifically prompts, has been
refactored for optimized sizes.
n Profiling SAS Enterprise Guide projects has been enhanced.
n The code check applications do not require that you run the gather SAS code
application.
n New PII patterns are supported.
n A new SAS 9 Code Check for Internationalization report is available for SAS i18n
code gathered from SAS programs.
n The value for the --scan-tag parameter must be a valid SAS name and comply
with all requirements.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
132 Chapter 30 / Version History
Summary of 2021.2.3
n The code check for i18n application is supported on AIX.
Summary of 2021.2.4
n The inventory application inventories SAS Risk Model Implementation Platform.
n The size of the data model for SAS Web Report Studio reports has been
reduced.
n Performance has significantly improved in profiling SAS artifacts.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2021.2.6 133
Summary of 2021.2.5
n A new application—summarize SAS log steps—analyzes SAS 9 logs and
generates data in the form of a report to help you understand the real time and
CPU time for each SAS program step. The SAS program steps with the longest
running real times have the best opportunities for optimization.
n A new application—modify SAS code—identifies hardcoded paths that a user
will probably need to modify when moving from SAS 9 to SAS Viya 4.
n The SAS 9 Code Check for Internationalization report has been enhanced.
n The code check application finds FILE statements with path issues and adds
them to the Issues data set.
n The code check application detects grid functions. Here are the relevant grid
functions:
o grdsvc_enable
o grdsvc_getaddr
o grdsvc_getinfo
o grdsvc_getname
o grdsvc_hostlist
o grdsvc_nnodes
o grdsvc_optsets
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2021.2.6
n SAS Forecast Server is now being profiled. A new report, SAS 9 Profile for SAS
Forecast Server, is available to display the profile results.
n A new application—create FAR packages—creates SAS Forecast archives for
SAS Forecast Server projects to be migrated to the SAS Viya platform.
n Profiling SAS information maps has been refactored, and it no longer includes
profiling expressions. This has significantly improved the time required to profile
SAS information maps.
n The SAS Visual Analytics report—SAS 9 Profile for SAS OLAP Cubes and SAS
Information Maps—has been split into two new reports—SAS 9 Profile for SAS
Information Maps and SAS 9 Profile for SAS OLAP Cubes.
134 Chapter 30 / Version History
n A progress counter is now available for the code check applications, via the
command-line option --SHOW-PROGRESS, that counts SAS files being
scanned.
n The summarize SAS log steps application has been enhanced to handle more
SAS log formats. The summarize SAS log steps application now supports all the
encodings that SAS code check for I18N supports.
n The profile report SAS 9 Profile for SAS Data Integration has been refactored for
performance and is now capable of handling larger data sets.
n On Windows and Linux, the code check applications now scan for SAS options
specific to those operating systems and flags them accordingly.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2022.1.1
n The code check applications no longer identify ODBC LIBNAME statements as
incompatible.
n The inventory application now inventories SAS Studio Objects.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2022.1.2
n The code check applications calculate the frequency of SAS 9 program steps by
SCAN TAG per deployment.
n Whether a SAS Data Integration Join transformation is migrated as a SAS Query
Step or SAS Program node is determined.
n System evaluation has enhanced analysis and more detailed logging.
n The code check applications check more SAS statements, functions, and
procedures.
1 A new tab named Review: Warnings is in all code check reports. It shows
SAS statements, functions, and procedures that need evaluation before
migration.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2022.1.3
n The create FAR packages application is supported on AIX.
n The profile application profiles SAS Data Integration Studio deployed flows.
n The profile application profiles source tables, target tables, and transformations
in SAS Data Integration Studio jobs.
n A new report is created for profiled content for SAS Data Integration: SAS 9
Profile for SAS Data Integration Supplementary.
n In the code check applications, if either PROC IMPORT or PROC MAPIMPORT
includes the DATAFILE= option, the procedure is flagged as a path restriction. If
PROC EXPORT includes the OUTFILE= option, the procedure is flagged as a
path restriction.
n A new application—SAS 9 application usage—counts the number of users for
SAS applications on SAS Workspace Servers. It uses SAS Object Spawner logs
to determine this information. The configuration directory must be specified on
the command-line or it must be set in the setenv.yaml file.
n A new application—SAS 9 import FAR packages—imports FAR packages
containing SAS Forecast Studio archives to SAS Viya 4.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2022.1.4
n A new application—create Enterprise Miner batch code—creates SAS Enterprise
Miner batch code and data sets customized for each SAS Enterprise Miner
project's encoding.
n The SAS 9 Profile for SAS Data Integration report has been significantly
enhanced. On the Migration Status tab, the new Job Migration Status tab and
the Transform Migration Status tab provide elaborate information about
whether transforms and jobs are migratable.
n The code check applications support all case combinations of .sas when
searching. For example, .Sas, .SAs, and so on, are searched.
n The summarize SAS log steps application supports all case combinations of .log
when searching. For example, .LOg, .lOg, and so on, are searched.
136 Chapter 30 / Version History
n The inventory application supports all case combinations when searching for
specific extensions. For example, for the extension ddf, Ddf, DDF, dDf, and so
on, are searched.
n The SAS 9 Profile for SAS Libraries and Tables report shows library options that
are not supported during migration. It also shows whether a library is supported
by CAS or Compute or both.
n The modify SAS code application has a new option named
ASSESSMENT_USE_STRICT_PATH_PARSING. This option enables the modify
SAS code application to create mappings with more precise and refined lists of
paths associated with code.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2022.09
n Beginning with this release, SAS 9 Content Assessment follows the new SAS
Viya release numbering.
n There are two new reports available: the SAS 9 Enterprise Miner Batch Code
Status report and the SAS 9 Application Usage report.
n Error handling has improved in the summarize SAS log steps application.
n Error handling has improved in the create Enterprise Miner batch code
application.
n Obfuscation has been significantly enhanced in the SAS 9 application usage
application. In addition, user IDs are always obfuscated and a mapping file of
obfuscated user ID to original user ID is provided.
n SAS 9 application usage runs on AIX.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2022.10
n A new application—SAS 9 Import SAS Content Assessment Data and Reports—
imports SAS Content Assessment data and reports automatically to SAS Visual
Analytics from a user-specified data mart. You can then view the reports directly
in SAS Visual Analytics.
n Profiling SAS Data Integration jobs no longer flags two or more input tables as
an issue for Join transformations to migrate successfully.
n Profiling SAS Data Integration jobs has been updated to handle jobs with
commas in their names.
Summary of 2022.12 137
n JVM options have been added to the setenv.yaml file to handle specifying Java
XMX and XMS options. For more information, see “setenv.yaml”.
n When publishing with encryption, the import SAS Content Assessment data and
reports application uses the name of the data mart being published in the file
name for the assessment key. For example, if a profile data mart is published,
the key file produced is profile-assessment-key.sas.
n If a SAS Enterprise Guide project that is migrated to the SAS Viya platform
needs certain code nodes run before proceeding, it is now identified.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2022.11
n Two new applications are available with this release—SAS 9 Create SAS Grid
Import Data and SAS 9 Import SAS Grid Packages. The former uses data
created by profiling SAS Grid Servers and creates JSON packages representing
the profiled data. The latter imports the JSON packages onto the SAS Viya
platform using the SAS Viya transfer plug-in.
n More metadata from profiling libraries is gathered. Specifically, Library
Connection Id, Library Connection Name, Server Component, and database
library paths are gathered.
n For profile data marts, all assessment-http.log files are copied to the Uploads
directory during the publish process if uploads were requested.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2022.12
n SAS Data Integration Studio generated transforms migrate as custom steps in
SAS Viya 4.
n There is no restriction on the number of lines in the setenv.yaml file.
n There is a new Review: SAS Grid Keywords tab on each code check report.
n SAS grid keywords are no longer considered incompatible. Instead, they are
classified as needing attention before being used with SAS Viya 4.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
138 Chapter 30 / Version History
Summary of 2023.01
n There is a new application in this release—SAS 9 Preview Assessed Content.
This application queries published SAS data sets for specific data points and
creates CSV files containing the results of the queries. This application currently
supports only code check data marts.
n A copyright date is on each SAS Content Assessment report.
n The SAS 9 Profile for SAS Data Integration report's Deployed Flows page is
enhanced. It enables you to filter by event conditions, search tables using a
search field, determine which deployed flows are scheduled, and view
dependencies.
n Code check checks for explicit SQL pass-through.
Summary of 2023.02
n Certain SAS Data Integration Studio Join transformations that use macros in
WHERE clauses can migrate to Query steps.
n Certain SAS Data Integration Studio Join transformations with explicit pass-
through to Oracle can migrate to Query steps.
Summary of 2023.03 139
n Certain SAS Data Integration Studio Sort transformations can migrate to Sort
steps.
n The preview assessed content application supports previewing an inventory data
mart. The application is now supported on AIX.
n The modify SAS code application supports modifying SAS statements that span
more than one line of code.
n The gather SAS code application supports gathering code from SAS Enterprise
Guide projects on AIX.
n The profile application supports profiling SAS Enterprise Guide projects on AIX.
n You can specify an existing SAS Viya command-line interface profile when using
applicable SAS Content Assessment applications.
n The import applications support a --profile option that enables you to use an
existing profile.
n The profile application profiles SAS/CONNECT servers and spawners and
provides specific results such as the internal attributes, standard aggregations,
and usage patterns of these servers and spawners.
n The SAS 9 Profile for SAS Enterprise Miner report includes information about the
SAS program files found in each SAS Enterprise Miner project, the number of
program files found, how many projects contain these files, and the number of
SAS program files in a specific path.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.03
n The inventory application inventories portal pages.
n For SAS Credit Scoring users, system evaluation checks whether there are
unsupported databases. The only supported database is SAS.
n System evaluation runs on SAS 9.4 on Solaris.
n The system evaluation check "SAS Analytical Data Set Builder Server 6.4 or
later only supports SAS as its DBMS type" is not applicable to AIX or Solaris.
n Perl and Curl are no longer required for AIX.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.04
n When profiling SAS Data Integration Studio, in the File Reader transformation,
File Writer transformation, Extract transformation, and Join transformation, user-
written pre-code and post-code no longer require a SAS Studio Program step.
n You can profile SAS data files (any file with a sas7bdat extension). A report is
created for this content: SAS 9 Profile for SAS Data Sets.
n The ability to publish reports on SAS 9.4 using SAS Visual Analytics 7.5 has
been removed. You can use the preview assessed content application instead.
n You can profile flow definitions that are created by Platform Suite for SAS 10.1.x
or higher.
n You can run the profile application to get specific information about a
SAS/CONNECT server, SAS/CONNECT spawner, or SAS Grid server. A report
is created for this content: SAS 9 Profile for SAS Servers.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.05
n The SAS 9 Profile for SAS Data Sets report has been enhanced with additional
insights and more filtering capability.
n In the SAS 9 Summarize SAS Log Steps report, information about what data
sets, observations, and variables were created from SAS programs is provided.
CPU time, real time, and total runtime are provided. And, any code errors and
warnings from SAS programs are provided.
n The setenv.yaml properties SAS_CATALOGSDIR and
ENTERPRISE_GUIDE_PROJECTSDIR are deprecated. The
PATHS_LIST_FILE should be used exclusively for specifying paths.
n The setenv.yaml file and the metaparms.sas file provided with the most current
release of SAS Content Assessment should be used instead of an existing
version of either file.
n The profile application performs more checks for SAS Data Integration Studio
File Writer, Splitter, Sort, and generated transformations to determine how they
will migrate.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.07 141
Summary of 2023.06
n There is a new report available: the SAS 9 Profile for SAS Data Integration
Scheduling report. It includes metrics about scheduling flows.
n The inventory application provides object size and last accessed time in the SAS
9 Inventory report. This information is also included in the inventory preview
results in the objects.csv file.
n The profile application provides the file size in bytes for each SAS Enterprise
Guide project in the SAS 9 Profile for SAS Enterprise Guide report.
n The profile application provides formatted size and size in bytes for each SAS
data set in the SAS 9 Profile for SAS Data Sets report.
n The profile application performs more checks for SAS Data Integration Studio
File Writer, File Reader, Splitter, and Sort to determine how they will migrate.
n Any log4j files have been removed from SAS Content Assessment and reload4j
is used. Although they never posed a security threat in SAS Content
Assessment, they have been removed to alleviate any concern.
n External model catalogs in SAS Forecast Studio are included and migrate using
the Import FAR Packages application.
n SAS Content Assessment checks for duplicate entries in the pathslist.txt file.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.07
n SAS Content Assessment checks SAS Data Integration Studio Extract
transformations for SELECT clauses, calculation columns, Order By, Group By ,
etc.
n SAS Content Assessment checks SAS Data Integration Studio Create Table
transformations for SELECT clauses, calculation columns, Order By, Group By ,
etc.
n The SAS 9 Profile for SAS Enterprise Guide report includes information about
incompatible SAS Enterprise Guide projects that will not migrate.
n The SAS 9 Profile for SAS Data Integration report is enhanced and modernized.
n The SAS 9 Code Check for SAS Viya Report is enhanced and modernized.
n SAS Content Assessment applications that import content into SAS Viya are
enhanced to work with SAS Viya command-line interface profiles that have been
authenticated prior to usage.
142 Chapter 30 / Version History
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.08
n The SAS 9 Application Usage application supports SHA3-256 obfuscation.
n All code check reports have been enhanced.
n The code check application no longer searches for SAS grid keywords, and they
are not referenced in the corresponding code check reports. They are fully
supported in SAS Viya.
n For SAS 9 Application Usage and SAS Enterprise Session Monitor users on AIX
deployments, a file named UTL_reconcileUserIDs.sas is provided to build a
common set of user-to-obfuscated-user data.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.09
n The SAS 9 Code Check for Internationalization report has been enhanced.
n The code check for internationalization application checks for ULN (UTF-8
length).
n The profile application no longer looks at GROUPBY and ORDERBY options
when determining SAS Data Integration Studio job migration status.
n The profile application stops evaluating a SAS Data Integration Studio
transformation for additional migration issues if the user-written flag is set.
n SAS Data Integration Studio jobs can be prioritized for migration.
Summary of 2023.10
n The SAS 9 Profile for SAS Enterprise Guide report includes more details about
the migration of your SAS Enterprise Guide projects into SAS Viya.
n The SAS 9 Profile for SAS Data Integration report has been enhanced for clarity.
n System evaluation checks whether you are running SAS 9.4M8. If so, it
determines whether all available security updates for the system have been
applied.
n The gather SAS code application does not gather orphaned code.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.11
n There is a new section about the inventory application's data model.
n The code check application checks for reserved keywords that are used by
PROC FORMAT and flags them as incompatible.
n Performance when profiling SAS Enterprise Guide projects and reporting on
project migration are improved and more reliable.
n The SAS 9 Profile for SAS Enterprise Guide report includes older projects and
skipped projects that could not be assessed.
n The profile application offers an option to prioritize your SAS Enterprise Guide
projects.
n The profile application assesses the fit of SPD Server Table Loader
transformations for migration.
n A job reference within a SAS Data Integration Studio job is assessed as an Ideal
Fit and converts to a SAS Studio subflow. The migration status of the job that is
referenced is independent of this assessment and it must be looked at
separately.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
144 Chapter 30 / Version History
Summary of 2023.12
n The code check application updated its checks for SAS library engines.
n The code check for internationalization application checks SAS program files for
use of MBCS data.
n The code check application provides an --encoding option to support some forms
of extended ASCII.
n The SAS 9 Code Check for Internationalization report is enhanced.
n The profile application is enhanced and now classifies partial fit for job reference
transformations and SPD Server Table Loader transformations with a load type
of Update. The SAS 9 Profile for SAS Data Integration report is enhanced to
reflect this new information.
n The eg_projects_summary data set is no longer used in the SAS 9 Profile for
SAS Enterprise Guide report.
n The SAS 9 Profile for SAS Libraries and Tables report is enhanced.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2024.01
n The inventory application inventories additional file types for SPD Server files.
n The create SAS grid import data application has been enhanced. It can accept
input of a CSV file containing SAS Grid server and SAS/CONNECT server pairs
to migrate.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2024.02
n The SAS 9 Profile for SAS Enterprise Guide report has been enhanced. A new
column displays process flows. SAS Enterprise Guide projects with multiple
process flows are flagged as potential migration concerns.
n The SAS 9 Profile for SAS Real-Time Decision Manager report includes
campaigns that were unable to be profiled.
n The profile application evaluates when a SAS Enterprise Guide Stack Columns
task can migrate to a SAS Studio Stack Columns step.
n A SAS Data Integration Studio Table Loader transformation with indexes,
constraints, or SPD Server as the target table is flagged by the profile application
as a partial fit.
n A SAS Data Integration Studio Splitter transformation is evaluated for more
conditions to become a SAS Studio Manage Columns step.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
146 Chapter 30 / Version History