0% found this document useful (0 votes)
314 views152 pages

SAS® 9 Content Assessment

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
314 views152 pages

SAS® 9 Content Assessment

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 152

®

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

All Rights Reserved. Produced in the United States of America.


For a hard copy book: No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any
means, electronic, mechanical, photocopying, or otherwise, without the prior written permission of the publisher, SAS Institute Inc.
For a web download or e-book: Your use of this publication shall be governed by the terms established by the vendor at the time you
acquire this publication.
The scanning, uploading, and distribution of this book via the Internet or any other means without the permission of the publisher is illegal and
punishable by law. Please purchase only authorized electronic editions and do not participate in or encourage electronic piracy of copyrighted
materials. Your support of others' rights is appreciated.
U.S. Government License Rights; Restricted Rights: The Software and its documentation is commercial computer software developed at
private expense and is provided with RESTRICTED RIGHTS to the United States Government. Use, duplication, or disclosure of the Software
by the United States Government is subject to the license terms of this Agreement pursuant to, as applicable, FAR 12.212, DFAR
227.7202-1(a), DFAR 227.7202-3(a), and DFAR 227.7202-4, and, to the extent required under U.S. federal law, the minimum restricted rights
as set out in FAR 52.227-19 (DEC 2007). If FAR 52.227-19 is applicable, this provision serves as notice under clause (c) thereof and no other
notice is required to be affixed to the Software or documentation. The Government’s rights in Software and documentation shall be only those
set forth in this Agreement.
SAS Institute Inc., SAS Campus Drive, Cary, NC 27513-2414
February 2024
SAS® and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and
other countries. ® indicates USA registration.
Other brand and product names are trademarks of their respective companies.
v_001-P1:contentassessment
Contents
Chapter 1 / Understanding SAS Content Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What Does It Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Why? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Who Can Run It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
How? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
What Do I Get? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
SAS 9 Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
SAS 9 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
SAS 9 Gather SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
SAS 9 Code Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
SAS 9 Code Check for I18N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
SAS 9 Summarize SAS Log Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SAS 9 Application Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SAS 9 Create Enterprise Miner Batch Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SAS 9 Publish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SAS 9 Import SAS Content Assessment Data and Reports . . . . . . . . . . . . . . . . . . . . . 9
SAS 9 Preview Assessed Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS 9 Create FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS 9 Create SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS 9 Create SAS Grid Import Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS 9 Modify SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS 9 Import EG Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS 9 Import FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS 9 Import SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SAS 9 Import Grid Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SAS 9 System Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
What Does It Tell Me? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Which Application Should I Run First? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Can’t Wait? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Chapter 2 / Examining the SAS Content Assessment Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Inventory Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Reporting on This Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Deployment Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Doing Your Own Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Chapter 3 / Preparing Your System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Java Development Kit and JRE Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Chapter 4 / Using SAS Content Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Chapter 5 / Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29


Application Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
iv Contents

Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Solaris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Chapter 6 / Specifying Required Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35


Files and Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
setenv.yaml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
metaparms.sas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
repos_exclusion_list.sas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Chapter 7 / Executing the Inventory Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47


Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Chapter 8 / Executing the Profile Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49


Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Profiling SAS Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Profiling Platform Suite for SAS Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Profiling SAS Data Integration Studio Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Profiling SAS Enterprise Miner Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Profiling SAS Enterprise Guide Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Profiling SAS Real-Time Decision Manager Campaigns . . . . . . . . . . . . . . . . . . . . . . 56
Profiling SAS Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Profiling SAS Data Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Chapter 9 / Executing the Gather SAS Code Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59


Gather SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Gather SAS Code Output Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
SAS Stored Processes Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
SAS Catalogs Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
SAS Enterprise Guide Projects Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
SAS Enterprise Miner Projects Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
SAS Data Integration Studio Jobs Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Chapter 10 / Executing the Code Check Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65


Code Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Chapter 11 / Executing the SAS Code Check for Internationalization Application . . . . . . . . . . . . . . 69


Code Check for I18N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Chapter 12 / Executing the Summarize SAS Log Steps Application . . . . . . . . . . . . . . . . . . . . . . . . . . 73


Summarize SAS Log Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Chapter 13 / Executing the SAS 9 Application Usage Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


SAS 9 Application Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Chapter 14 / Executing the Create Enterprise Miner Batch Code Application . . . . . . . . . . . . . . . . . . 77


Create Enterprise Miner Batch Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Chapter 15 / Executing the Publish Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79


Publish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Contents v

What Does Publish Mean? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80


Protecting the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Merging and Publishing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Sharing Your Results with SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Chapter 16 / Executing the Import SAS Content Assessment Data and Reports Application . . . . . 85
Import SAS Content Assessment Data and Reports . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Chapter 17 / Executing the Preview Assessed Content Application . . . . . . . . . . . . . . . . . . . . . . . . . . 89


Preview Assessed Content Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Chapter 18 / Executing the Create FAR Packages Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91


Create FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Chapter 19 / Executing the Create SAS Packages Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93


Create SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
SAS Stored Processes Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Chapter 20 / Executing the Create SAS Grid Import Data Application . . . . . . . . . . . . . . . . . . . . . . . . . 97


Create SAS Grid Import Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Chapter 21 / Executing the Modify SAS Code Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99


Modify SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Chapter 22 / Executing the Import EG Projects Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101


Import EG Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Sample Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Chapter 23 / Executing the Import FAR Packages Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


Import FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Chapter 24 / Executing the Import SAS Packages Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107


Import SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Chapter 25 / Executing the Import SAS Grid Packages Application . . . . . . . . . . . . . . . . . . . . . . . . . . 111


Import SAS Grid Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Chapter 26 / Executing the System Evaluation Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113


System Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Product-Specific Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Immediate Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
vi Contents

Chapter 27 / Importing the Data Mart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119


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

Chapter 28 / Sending Results to SAS for Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123


SAS Can Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Chapter 29 / Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Gather SAS Code Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Gather SAS Code Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Chapter 30 / Version History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127


Summary of 2021.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Summary of 2021.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Summary of 2021.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Summary of 2021.1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Summary of 2021.1.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Summary of 2021.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Summary of 2021.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Summary of 2021.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Summary of 2021.2.3 – Update 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Summary of 2021.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Summary of 2021.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Summary of 2021.2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Summary of 2022.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Summary of 2022.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Summary of 2022.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Summary of 2022.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Summary of 2022.09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Summary of 2022.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Summary of 2022.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Summary of 2022.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Summary of 2023.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Summary of 2023.02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Summary of 2023.03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Summary of 2023.04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Summary of 2023.05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Summary of 2023.06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Summary of 2023.07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Summary of 2023.08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Summary of 2023.09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Summary of 2023.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Summary of 2023.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Summary of 2023.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Summary of 2024.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Summary of 2024.02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
1

1
Understanding SAS Content
Assessment

What Does It Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2


Why? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Who Can Run It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
How? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
What Do I Get? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
SAS 9 Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
SAS 9 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
SAS 9 Gather SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
SAS 9 Code Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
SAS 9 Code Check for I18N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
SAS 9 Summarize SAS Log Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SAS 9 Application Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SAS 9 Create Enterprise Miner Batch Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SAS 9 Publish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SAS 9 Import SAS Content Assessment Data and Reports . . . . . . . . . . . . . . . . . . . . . . . 9
SAS 9 Preview Assessed Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS 9 Create FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS 9 Create SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS 9 Create SAS Grid Import Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS 9 Modify SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS 9 Import EG Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS 9 Import FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS 9 Import SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Chapter 1 / Understanding SAS Content Assessment

SAS 9 Import Grid Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


SAS 9 System Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
What Does It Tell Me? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Which Application Should I Run First? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Prepare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Migrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Evaluate SAS 9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Can’t Wait? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

What Does It Do?


SAS 9 Content Assessment is a collection of applications designed to help you
understand your SAS 9.4 deployment and content, gather and prepare SAS 9.4
content for migration, and import SAS 9.4 content. Specific applications are
designed to thoroughly analyze SAS 9.4 content for compatibility, optimization,
issues, and modification. Reports in SAS Visual Analytics help you review data from
these applications.

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

Who Can Run It?


You must use the account that you used to install and configure SAS software
(Installer user account) to unpack and run all SAS Content Assessment
applications. For the system evaluation application, you must also be able to read all
files in the specified SASHome and SAS configuration directory. For the code check
application, you must also be able to access and read all files in the directories
specified for scanning.

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:

Table 1.1 Applications

Application Name Short Name Executable Name

SAS 9 Inventory inventory inventoryContent.exe (Windows)


inventoryContent.ksh (AIX)
inventoryContent (Linux)

SAS 9 Profile profile profileContent.exe (Windows)


profileContent.ksh (AIX)
profileContent (Linux)
4 Chapter 1 / Understanding SAS Content Assessment

SAS 9 Gather SAS Code gather SAS gatherSASCode.exe (Windows)


code
gatherSASCode.ksh (AIX)
gatherSASCode (Linux)

SAS 9 Code Check code check codeCheck.exe (Windows)


codeCheck.ksh (AIX)
codeCheck (Linux)

SAS 9 Code Check for code check for i18nCodeCheck.exe (Windows)


Internationalization i18n
i18nCodeCheck.ksh (AIX)
i18nCodeCheck (Linux)

SAS 9 Summarize SAS summarize summarizeSASLogSteps.exe


Log Steps SAS log steps (Windows)
summarizeSASLogSteps.ksh (AIX)
summarizeSASLogSteps (Linux)

SAS 9 Application Usage application applicationUsage.exe (Windows)


usage
applicationUsage.ksh (AIX)
applicationUsage (Linux)

SAS 9 Create Enterprise create createEMBatchCode.exe (Windows)


Miner Batch Code Enterprise
createEMBatchCode (Linux)
(Windows and Linux only) Miner batch
code

SAS 9 Publish publish publishAssessedContent.exe


(Windows)
publishAssessedContent.ksh (AIX)
publishAssessedContent (Linux)

SAS 9 Import SAS Content import SAS importAssessedContent.exe


Assessment Data and Content (Windows)
Reports (Windows and Assessment
importAssessedContent (Linux)
Linux only) data and
reports

SAS 9 Preview Assessed preview previewAssessedContent.exe


Content assessed (Windows)
content
previewAssessedContent.ksh (AIX)
previewAssessedContent (Linux)

SAS 9 Create FAR create FAR createFARPackages.exe (Windows)


Packages (Windows and packages
createFARPackages.ksh (AIX)
Linux only)
createFARPackages (Linux)
SAS 9 Inventory 5

SAS 9 Create SAS create SAS createSASPackages.exe (Windows)


Packages packages
createSASPackages.ksh (AIX)
createSASPackages (Linux)

SAS 9 Create SAS Grid create SAS grid createSASGridImportData.exe


Import Data (Windows and import data (Windows)
Linux only)
createSASGridImportData (Linux)

SAS 9 Modify SAS Code modify SAS modifySASCode.exe (Windows)


code
modifySASCode.ksh (AIX)
modifySASCode (Linux)

SAS 9 Import EG Projects import EG importEGProjects.exe (Windows)


(Windows and Linux only) projects
importEGProjects (Linux)

SAS 9 Import FAR import FAR importFARPackages.exe (Windows)


Packages (Windows and packages
importFARPackages (Linux)
Linux only)

SAS 9 Import SAS import SAS importSASPackages.exe (Windows)


Packages (Windows and packages
importSASPackages (Linux)
Linux only)

SAS 9 Import Grid import grid importSASGridPackages.exe


Packages (Windows and packages (Windows)
Linux Only)
importSASGridPackages (Linux)

SAS 9 System Evaluation system systemEvaluation.exe (Windows)


evaluation
systemEvaluation.ksh (AIX)
systemEvaluation.ksh (Solaris)
systemEvaluation (Linux)

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

n SAS Studio Objects

n SAS Access Control Entries (ACEs)

n SAS Access Control Templates (ACTs)

n SAS servers and SAS Application Server contexts


6 Chapter 1 / Understanding SAS Content Assessment

n Content produced by SAS products located on the file system

n SAS Deployment Registry information

n SAS licensing status and information

This application can be run as needed on multiple SAS deployments. It creates a


data mart for each SAS deployment that is inventoried.

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

n SAS Enterprise Guide projects

n SAS Grid servers and metadata

n SAS Real-Time Decision Manager campaigns

n SAS Application Server components

n SAS/CONNECT servers and metadata

n Various other SAS objects

This application can be run as needed on multiple SAS deployments. It creates a


data mart for each SAS deployment that is profiled.

SAS 9 Gather SAS Code


This application gathers SAS code from SAS objects, and then writes the code to an
output location on the local file system for analysis. On the local file system, the
code is copied into a file structure that matches its location on the source system.
SAS 9 Code Check for I18N 7

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.

SAS 9 Code Check


This application examines any SAS programs in the specified directory and
determines compatibility with the SAS Viya platform. It reports any issues that it
encounters, such as:
n SAS program elements that are not supported 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.

SAS 9 Code Check for I18N


This application attempts to find known internationalization issues in SAS programs.
Internationalization (i18N) is a process by which a program is optimized so that it
can be adapted to any language and region without needing to be rewritten.
It searches files for patterns that have been identified as not i18n-compatible in SAS
Viya, such as:
n embedded strings

n concatenated text strings

n locale-sensitive SAS formats/informats

n SAS string functions

n SAS string macros

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 Summarize SAS Log Steps


This application 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. By specifying a real-time threshold, you can benchmark which
engine on the SAS Viya platform is appropriate for each SAS program step—the
compute server or the CAS server.

SAS 9 Application Usage


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

SAS 9 Create Enterprise Miner Batch


Code
This application creates SAS Enterprise Miner batch code and data sets customized
for each SAS Enterprise Miner project’s encoding. Batch code and data sets are
created in the project’s unique encoding (for example, Shift JIS, WLATIN1, EUC-
CN, and so on). A property named
ASSESSMENT_EM_BATCH_CODE_OUTPUT_LOCATION in the setenv.yaml file
controls where the batch code is created.

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.

SAS 9 Import SAS Content Assessment


Data and Reports
This application 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.

SAS 9 Preview Assessed Content


This application queries published SAS data sets for specific data points. The SAS
data sets are located in a data mart specific to the SAS Content Assessment
application that you are querying. The application creates CSV files containing the
results of the queries.
This application complements the SAS Content Assessment reports. The reports
should be used to review detailed and thorough information. This application should
be used to quickly preview assessed content, and it allows you to do so without
importing to SAS Viya.

SAS 9 Create FAR Packages


This application creates FAR packages for the specified SAS Forecast Server
projects that you intend to migrate from SAS 9 to the SAS Viya platform. An input
CSV file lists the projects to be migrated. This CSV file is exported from a SAS
Visual Analytics report created by SAS Content Assessment.

SAS 9 Create SAS Packages


This application creates SAS packages for SAS objects that you intend to migrate
from SAS 9 to the SAS Viya platform. An input CSV file lists the objects to be
migrated. This CSV file is exported from a SAS Visual Analytics report created by
SAS Content Assessment. Each type of object requires a separate CSV file. For
10 Chapter 1 / Understanding SAS Content Assessment

important information about how to create this CSV file, see “Create SAS
Packages”.

SAS 9 Create SAS Grid Import Data


This application gathers SAS Grid Server metadata and formats it into JSON files
that can be imported into SAS Viya 4. You must run the profile application first to
gather this data. A property named
ASSESSMENT_GRID_PACKAGES_OUTPUT_LOCATION in the setenv.yaml file
controls where the grid data is created.

SAS 9 Modify SAS Code


Based on the --scan-tag option as a filter, the modify SAS code application identifies
hardcoded paths that a user will probably need to modify when moving from SAS 9
to SAS Viya 4. Using the code check application’s results, the modify SAS code
application generates a mapping CSV file, which the user edits with new, modified
paths for SAS program files that work in SAS Viya 4. It also uses the mapping CSV
file to apply the new, modified paths to the SAS program files. It never updates the
original SAS program files.

SAS 9 Import EG Projects


This application imports SAS Enterprise Guide projects on the file system to SAS
Viya 4.

SAS 9 Import FAR Packages


This application imports FAR packages containing SAS Forecast Studio archives to
SAS Viya 4.
SAS 9 System Evaluation 11

SAS 9 Import SAS Packages


This application imports SAS packages containing SAS Enterprise Guide projects
and SAS Data Integration Studio jobs to SAS Viya 4.

SAS 9 Import Grid Packages


This application imports the JSON packages (created by the create SAS grid import
data application) onto the SAS Viya platform using the SAS Viya transfer plug-in.

SAS 9 System Evaluation


This application examines the specified SAS configuration directory and its
corresponding metadata content and corresponding installation content in a SAS
Metadata Server. It looks for possible issues that could adversely affect upgrading
from one release of SAS 9.4 to another. This includes upgrading a SAS solution
version to a later version or performing an entire SAS 9.4 upgrade. It reports issues
found in various SAS objects, such as:
n Metadata objects and definitions in the Foundation repository only

n Critical configuration files

n Critical installation files

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

What Does It Tell Me?


With the exception of system evaluation, results from SAS 9 Content Assessment
can be displayed as SAS Visual Analytics reports. Reports enable you to visualize
and drill into the collected content and share knowledge with stakeholders.
System evaluation creates a Datamart directory and a Results directory. The
Results directory contains HTML reports and archived information about the
deployment for the evaluated machine. These HTML reports enable you to visualize
these issues in a summarized manner.
SAS Content Assessment requires all SAS data sets to be created with UTF-8
encoding. SAS Content Assessment verifies that SAS is using UTF-8; if it is not,
warnings are displayed. UTF-8 encoding enables SAS 9 Content Assessment
reports to render correctly.

Which Application Should I Run First?


The following workflow for the applications is recommended:
plan ð review ð prepare ð migrate

Plan
The SAS Content Assessment applications involved in planning for your migration to
the SAS Viya platform include:
n Inventory

n Profile

n Gather SAS Code


n Code Check

n SAS Code Check for Internationalization

n Summarize SAS Log Steps

n SAS 9 Application Usage

n Create Enterprise Miner Batch Code


Which Application Should I Run First? 13

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

n Preview Assessed Content

Prepare
The SAS Content Assessment applications involved in preparing for migrating to the
SAS Viya platform include:
n Create FAR Packages

n Create SAS Packages

n Create SAS Grid Import Data

n Modify SAS Code

Migrate
The SAS Content Assessment applications involved in migrating to the SAS Viya
platform include:
n Import EG Projects

n Import FAR Packages

n Import SAS Packages

n Import SAS Grid Packages

Evaluate SAS 9.4


System evaluation examines the specified SAS configuration directory and its
corresponding metadata content and corresponding installation content in a SAS
Metadata Server. It looks for possible issues that could adversely affect upgrading
from one release of SAS 9.4 to another. This includes upgrading a SAS solution
version to a later version or performing an entire SAS 9.4 upgrade. It reports issues
found in various SAS objects.
14 Chapter 1 / Understanding SAS Content Assessment

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:

1 Check the “Prerequisites”.

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.

3 Specify the required values in the “setenv.yaml” file.

4 Specify the required values in the “metaparms.sas” file.

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.

IMPORTANT This document is available for SAS customers only. It is not to


be shared with anyone who is not a SAS customer.
16 Chapter 2 / Examining the SAS Content Assessment Data Model

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

The ALL_OBJECTS table has the following columns:

Table 2.1 ALL_OBJECTS Table Columns

Format
Raw ted
# Name Label Type Length Length Format

1 SERVER_LA METADATALAB char 60 60


BEL EL defined in
metaparms.sas

2 CUSTOMER METADATACU char 60 60


_ID STOMER
defined in
metaparms.sas

3 Path Path plus object char 1024 1024


name

4 PathLocation Path to the char 1024 1024


object

5 CommonRoo Abbreviated char 1024 1024


tPath path used for
grouping

6 Name Name of an char 128 128


object

7 Type Well-known char 60 60


label for file
system objects
or the SAS
object name as
defined in the
SAS Metadata
Server
Inventory Objects 17

Format
Raw ted
# Name Label Type Length Length Format

8 TypeName Non- char 60 60


abbreviated
label for the
type

9 Description Description of char 200 200


the type

10 StorageType File system or char 16 16


metadata

11 PlatformType Linux or char 8 8


Windows

12 CreatedBy Author of an char 60 60


object

13 CreatedOn Time and date double 8 30 NLDAT


that an object M
was created

14 CreatedOnSt String char 40 40


ring representation
of CreatedOn

15 ModifiedBy Author of the char 60 60


last modification
made to an
object

16 ModifiedOn Time and date double 8 30 NLDAT


an object was M
last modified

17 ModifiedOnS String char 40 40


tring representation
of ModifiedOn

18 RawSize Size in bytes of double 8 12


an object

19 FormattedSiz Human- char 60 60


e readable string
representation
of RawSize

20 LastAccesse Time and date double 8 30 NLDAT


dOn that an object M
was last read

21 LastAccesse String char 40 40


dOnString representation
18 Chapter 2 / Examining the SAS Content Assessment Data Model

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.

Table 2.2 SAS_9_TYPES_V5 Table

Raw
# Name Label Type Length

1 Scannable Indicates that SAS objects can be char 13


counted individually

2 Portfolio SAS software division char 22

3 Sellable-Offering Sellable bundle of SAS products char 44

4 DisplayName Non-abbreviated label for the Public char 59


type

5 PublicType Well-known label for file system char 49


objects or the SAS object name as
defined in the SAS Metadata
Server

6 Description Description of the Public type char 314

7 Object Alternative label for the Public type char 38

8 Product SAS product char 35

9 ProductLong SAS legal name of a SAS product char 60


Reporting on This Data 19

Raw
# Name Label Type Length

10 ProductIncludesVAAR Indicates whether a product char 3


requires SAS Visual Analytics
Administration and Reporting as
part of a customer order

11 Product12byte Representation of a product that char 12


can be installed, configured, or
ordered separately

12 Grouping More specific grouping within a char 25


sellable offering

Reporting on This Data


The join results in a table called Items, which has the following columns with typical
cardinalities:

Table 2.3 Items Table Columns

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

Constructed values in the Items table include:


Server Definitions
a custom category that aggregates various detailed types of servers into a fixed
and smaller number of categories.
Item Hierarchy
a column that facilitates grouping the possibly large number of SAS 9 object
types, hierarchically grouped by Portfolio, drillable to Sellable_Offering, and
then drillable to individual object type.

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

Table 2.4 DEPLOYMENTINFO Table

Formatted
# Name Label Type Length

1 SERVER_LABEL METADATALABEL defined in char 60


metaparms.sas

2 CUSTOMER_ID METADATACUSTOMER char 60


defined in metaparms.sas

3 Platform Representation of a host or char 60


operating system on which
SAS software runs

4 ProductID Representation of a product char 60


that can be installed,
configured, or ordered
separately

5 ProductName Name of a SAS Product char 256

6 Version SAS product version char 16

7 Hotfix_List List of software updates that char 256


are based on customer
reported defects and have a
status of alert or high priority
or updates that might affect a
large number of customers

8 SERVER_LABEL_COLOR char 7

Licensing
The applied license status is in the LICENSEINFO table:

Table 2.5 LICENSEINFO Table

Formatted
# Name Label Type Length Format

1 SERVER_LABEL METADATALABEL char 60


defined in
metaparms.sas

1 CUSTOMER_ID METADATACUSTOMER char 60


defined in
metaparms.sas
22 Chapter 2 / Examining the SAS Content Assessment Data Model

Formatted
# Name Label Type Length Format

3 Product Name of a SAS product char 96

4 Version SAS product version char 100

5 Sitename Description for the char 100


licensing order

6 Expiration Expiration date for the double 20 NLDATE


license

7 SERVER_LABEL_COLOR char 7

Doing Your Own Reporting


These tables are straightforward from a reporting and filtering perspective. You can
aggregate or perform calculations on the data, remembering the important details
about the ALL_OBJECTS table.
23

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.

SAS Content Assessment requires the following software and hardware:


n SAS Content Assessment executes on Windows, AIX, Linux, and Solaris
(System Evaluation only) operating systems. SAS Content Assessment is
supported on the same host platforms on which SAS 9.4 is supported. For more
information, see https://support.sas.com/supportos/list.
n Java Runtime Environment (JRE) 1.8 or higher is required on the machine where
the SAS Content Assessment applications are executed. By default, the SAS
Private JRE that exists on SAS is used and is highly recommended. Verify that it
is 1.8 or higher. For more information, see “Java Development Kit and JRE
Requirements”.
n log4j files are replaced by a reload4j file.

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.

Java Development Kit and JRE


Requirements
SAS Content Assessment applications require a JDK with a JRE of 1.8 or higher.
The SAS Private JRE shipped with SAS 9.4M6 and above meets this requirement,
but prior releases of M5 and below require a separate install.
You can download and install the appropriate version of the JDK for your operating
system using the links below. Note that this JDK does not need to become the
system default. Its path, ending with the directory that contains the Java executable,
must be specified for use by SAS Content Assessment in your configured
setenv.yaml file as SAS_JAVA_HOME. It can be removed when you are no longer
running SAS Content Assessment.
Java Development Kit and JRE Requirements 25

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 inventory a file system, the inventory application must be either


executed on the physical machine that contains the file system to be searched 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 inventorying.

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.

n System evaluation should run on each configured machine in a SAS deployment


and will evaluate only products installed on each configured machine.
n After all SAS programs and tools are executed, data marts, results, and
extracted SAS code are created for further analysis.
n SAS Content Assessment requires all SAS data sets to be created with UTF-8
encoding. SAS Content Assessment verifies that SAS is using UTF-8; if it is not,
warnings are displayed. UTF-8 encoding enables SAS 9 Content Assessment
reports to render correctly.
29

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.

There is a consistent directory structure when a SAS Content Assessment file is


unpacked. Two subdirectories are created — assessment and migration — based
on the operating system and what it supports. For example, Linux and Windows
30 Chapter 5 / Getting Started

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

Assessment Subdirectory Contents


applications
Directory that contains SAS code for applications other than inventory and
profile.
applicationUsage
Application that counts the number of users for SAS applications on SAS
Workspace Servers.
codeCheck
Application that checks SAS programs for SAS Viya incompatibilities.
createEMBatchCode
Application that creates SAS Enterprise Miner batch code and data sets
customized for each SAS Enterprise Miner project’s encoding.
createFARPackages
Application that creates SAS Forecast archives for specified SAS Forecast
Server projects to be migrated to the SAS Viya platform.
createSASGridImportData
Application that gathers SAS Grid Server metadata and formats it into JSON files
that can be imported to the SAS Viya 4 platform.
createSASPackages
Application that creates SAS packages for SAS objects that you intend to
migrate from SAS 9 to the SAS Viya platform.
data
Directory that contains static data used by SAS Content Assessment.
doc
Directory that contains SAS Content Assessment documentation.
gatherSASCode
Application that gathers SAS code associated with SAS objects.
i18nCodeCheck
Application that attempts to find known internationalization issues in SAS
programs.
i18njavatools
Directory that contains the Java libraries for the i18nCodeCheck application.
importAssessedContent
Application that 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.
inventoryContent
Application that inventories your SAS system’s content.
javatools
Directory that contains the Java REST server used by SAS 9 Content
Assessment.
maps
Directory that contains XML maps that are used by SAS Content Assessment.
Contents 33

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

Migration Subdirectory Contents


doc
Directory that contains SAS Content Assessment documentation.
importEGProjects
Application that imports SAS Enterprise Guide projects on the file system to SAS
Viya 4.
importFARPackages
Application that imports FAR packages on the file system to SAS Viya 4.
importSASPackages
Application that imports SAS packages that contain SAS Enterprise Guide
projects and SAS Data Integration Studio jobs on the file system to SAS Viya 4.
importSASGridPackages
Application that imports the JSON packages (created by the create SAS grid
import data application) onto the SAS Viya platform using the SAS Viya transfer
plug-in.
35

6
Specifying Required Settings

Files and Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36


setenv.yaml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
setenv.yaml Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
SAS_HOME All Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
SAS_JAVA_HOME All Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
SAS_CODE_OUTPUT_LOCATION Gather SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . 37
ASSESSMENT_PORT All Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
ASSESSMENT_CONFIGDIR System Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
ASSESSMENT_SWEEPER_FULL_MODE System Evaluation . . . . . . . . . . . . . . . . . . 38
ASSESSMENT_SSL_CERT_FILE All Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
ASSESSMENT_PACKAGES_OUTPUT_LOCATION Create SAS Packages . . . . . . 39
ASSESSMENT_FAR_PACKAGES_OUTPUT_LOCATION Create
FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
ASSESSMENT_EM_BATCH_CODE_OUTPUT_LOCATION
Create Enterprise Miner Batch Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
ASSESSMENT_GRID_PACKAGES_OUTPUT_LOCATION Create
SAS Grid Import Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
ASSESSMENT_RTDM_XML_OUTPUTDIR Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
ASSESSMENT_PREVIEWSDIR Preview Assessed Content . . . . . . . . . . . . . . . . . . . . 40
ASSESSMENT_IBM_JEXPORT_XMLDIR Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
ASSESSMENT_SAS_MEMSIZE_OPTION All Applications . . . . . . . . . . . . . . . . . . . . . 40
ASSESSMENT_SAS_WORK_OPTION All Applications . . . . . . . . . . . . . . . . . . . . . . . . . 41
ASSESSMENT_JAVA_XMX_OPTION All Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 41
ASSESSMENT_JAVA_XMS_OPTION All Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 41
EXTRACTED_ENTERPRISE_GUIDE_PROJECTSDIR Profile and
Gather SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
PATHS_LIST_FILE Inventory, Profile, Gather SAS Code . . . . . . . . . . . . . . . . . . . . . . . . 41
PRINT_MATCHES_TO_SCREEN Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
LOGGING_LEVEL System Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
ASSESSMENT_REVERSE_LEXICOGRAPHICAL_SORT_ORDE
R Modify SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
ASSESSMENT_USE_STRICT_PATH_PARSING Modify SAS Code . . . . . . . . . . . . . 43
Other Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
metaparms.sas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
repos_exclusion_list.sas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
36 Chapter 6 / Specifying Required Settings

Files and Program


You must edit the following files:
n setenv.yaml
n metaparms.sas

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

SAS_HOME All Applications

This property must be explicitly set.


One of the most important properties to set is SAS_HOME. Its value is the base
installation location of all of the various SAS applications and tools that are part of
SAS Content Assessment. Once this property is set in the file, it can be referred to
as $SAS_HOME.
Only SAS_HOME is required to run the code check applications.

SAS_JAVA_HOME All Applications

SAS_JAVA_HOME specifies the location of Java for use by SAS Content


Assessment. JRE 1.8 or higher is required. By default, the SAS Private JRE that
exists on your SAS system is used. Verify that it is 1.8 or greater.

SAS_CODE_OUTPUT_LOCATION Gather SAS Code

SAS_CODE_OUTPUT_LOCATION specifies the location that output from the


gather SAS code application is written to. Output is organized by SAS objects. For
example, if you run the gather SAS code application to process SAS stored
processes, SASStoredProcesses is a subdirectory in the output location. If you
process SAS catalogs, SASCatalogs is a subdirectory. If you process SAS
Enterprise Guide projects, SASEGProjects is a subdirectory.
An example value is BASE_DIR/gatheredSASCode.
In addition, the existence of one or more root directories under BASE_DIR is
validated. If a root directory does not exist, it is created with both the application
38 Chapter 6 / Specifying Required Settings

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.

ASSESSMENT_PORT All Applications

ASSESSMENT_PORT specifies the port to use to access the SAS 9 Content


Assessment REST server. This server is accessible only through this port, and it is
bound to the host on which SAS 9 Content Assessment is running. This server
allows no remote execution. The default is 8889, but the port can be any valid and
accessible port on the machine where SAS 9 Content Assessment is running.

ASSESSMENT_CONFIGDIR System Evaluation

This property must be explicitly set.


The system evaluation application examines the specified SAS configuration
directory and its corresponding metadata content and corresponding installation
content in a SAS Metadata Server. In the specified configuration directory, it looks
for possible issues that could adversely affect upgrading from one release of SAS
9.4 to another. The ASSESSMENT_CONFIGDIR directory can be set in the
setenv.yaml file or specified with the --config-dir option. The --config-dir option
overrides any value in the setenv.yaml file. For example, on Windows, the
ASSESSMENT_CONFIGDIR directory could be:
C:\SASConfig\Lev1

Or, on Linux, it could be:


/opt/sas/config/Lev1

ASSESSMENT_SWEEPER_FULL_MODE System

Evaluation

The ASSESSMENT_SWEEPER_FULL_MODE property specifies whether


additional content is archived for system evaluation purposes. The property defaults
to TRUE, which indicates that all applicable content to system evaluation is
archived.

ASSESSMENT_SSL_CERT_FILE All Applications

The ASSESSMENT_SSL_CERT_FILE property is needed when SAS Content


Assessment runs on TLS-secured deployments. It specifies the location of the
setenv.yaml 39

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

The ASSESSMENT_RTDM_XML_OUTPUTDIR is the location in which campaigns


are extracted. You must uncomment the ASSESSMENT_RTDM_XML_OUTPUTDIR
property, and then set it to the location in which you want to extract campaigns.
The default value is $BASE_DIR/RTDMXMLOutput.

ASSESSMENT_PREVIEWSDIR Preview Assessed Content

ASSESSMENT_PREVIEWSDIR is the location in which CSVs created by the


preview assessed content application are located.
The default value is $BASE_DIR/preview.

ASSESSMENT_IBM_JEXPORT_XMLDIR Profile

ASSESSMENT_IBM_JEXPORT_XMLDIR is the location containing XML files in a


flat structure created by the Platform Suite for SAS 10.1.x or higher JEXPORT
command.

ASSESSMENT_SAS_MEMSIZE_OPTION All

Applications

The ASSESSMENT_SAS_MEMSIZE_OPTION property represents the actual SAS


system option MEMSIZE. It controls how SAS sessions launched from SAS 9
Content Assessment behave. If necessary, you can modify it.
setenv.yaml 41

ASSESSMENT_SAS_WORK_OPTION All Applications

The ASSESSMENT_SAS_WORK_OPTION property represents the actual SAS


system option WORK. It controls how SAS sessions launched from SAS 9 Content
Assessment behave. If necessary, you can modify it.

ASSESSMENT_JAVA_XMX_OPTION All Applications

The ASSESSMENT_JAVA_XMX_OPTION property specifies the maximum heap


size.

ASSESSMENT_JAVA_XMS_OPTION All Applications

The ASSESSMENT_JAVA_XMS_OPTION property specifies the initial heap size.

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

PATHS_LIST_FILE Inventory, Profile, Gather SAS Code

This property must be explicitly set.


PATHS_LIST_FILE specifies the list of paths that you want to search. These should
be paths containing any content that you want to analyze. By default, its
corresponding file (pathslist.txt) is empty, but it contains informative comments
about path suggestions. Review this file for more information if you are not sure
what to enter. The pathslist.txt file is encoded in UTF-8 BOM by default to ensure
the proper processing of text. The pathslist.txt file should be used by all applications
that require paths to be specified.
42 Chapter 6 / Specifying Required Settings

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

IMPORTANT Here are some details about the pathslist.txt file:


n If you do not specify paths in the pathslist.txt file, you get a warning.
n If you run the gather SAS code application, you must add the path
specified for SAS_CODE_OUTPUT_LOCATION – as a fully qualified path
without $BASE_DIR – to the pathslist.txt file.
n If you ran the gather SAS code application earlier, the --source-location
must point to SAS_CODE_OUTPUT_LOCATION in the code check
application.
n This file can be used by the code check applications if it is specified in the
--sources-file option.

In addition,

PRINT_MATCHES_TO_SCREEN Inventory

When set to TRUE, the PRINT_MATCHES_TO_SCREEN property specifies to


spew the list of files and directories found during the inventory process to the
console screen. In addition, It informs you of any inaccessible files and directories.

LOGGING_LEVEL System Evaluation

The LOGGING_LEVEL property specifies the volume of logging. DEBUG specifies


all information, such as logging details for all system functions. Any other value
hides all information. The default value is OFF.
setenv.yaml 43

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

ASSESSMENT_RESULTSDIR Inventory and System Evaluation


For system evaluation, root directory where all issues that are encountered while
evaluating a system for upgrading are placed. In this directory, any information
about issues found during assessment is placed. This can include critical
installation and configuration files, configuration logs, and configuration property
files.
Each directory serves as a root location. As you assess content, a directory named
for the application being executed is created in each directory. Furthermore, each
time you execute an application, METADATALABEL is created as a subdirectory
under the application subdirectory (with the exception of
ASSESSMENT_UPLOADSDIR). This subdirectory represents the actual data mart
resulting from the assessment. By default, in the metaparms.sas file (which is
discussed in the next section), METADATALABEL is set to Server1. The format is
similar to the following:
ASSESSMENT_RESULTSDIR/evaluation/METADATALABEL
ASSESSMENT_DATAMARTDIR/inventory/METADATALABEL

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.

IMPORTANT The metaparms.sas file contains user credentials and should


be secured to prevent unauthorized access.

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 It enumerates all file system content.

n It enumerates SAS metadata in the Foundation repository and custom


repositories, such as:
o SAS metadata objects contained in SAS folders
o SAS server and SAS application server contexts
o ACTs and ACEs
It does not look in project repositories.
48 Chapter 7 / Executing the Inventory Application

n It creates a file named noaccessfiles.csv in the ASSESSMENT_RESULTSDIR/


inventory/METADATALABEL directory for files or directories not accessible
during the inventory.
To enhance your security, SAS Content Server is no longer inventoried and its
contents are not enumerated. This does not affect any other products that are
inventoried or whose contents are enumerated.
Once the inventory application completes these actions, it produces three SAS data
sets. These data sets are located in the directory specified by
ASSESSMENT_DATAMARTDIR/inventory/METADATALABEL.
n all_objects.sas7bdat

n deploymentinfo.sas7bdat

n licenseinfo.sas7bdat

Note: A connection profile is created automatically during this process. It is named


ContentAssessment_METADATALABEL, where METADATALABEL is the
subdirectory specified in the metaparms.sas file. This connection profile does not
need to be edited. It is used only during the inventory process. For more information
about connection profiles, see “Administering Connection Profiles for Desktop
Applications” in SAS Intelligence Platform: Desktop Application Administration
Guide. This connection profile does contain the information specified in the
metaparms.sas file, including the value specified for METADATAUSERPASSWORD.
The metaparms.sas file should be secured to prevent unauthorized access. You
should delete this connection profile once the inventory process is completed.
The inventory process can be executed for each 9.4 deployment that exists. The
METADATALABEL value in the metaparms.sas file is used to differentiate
deployments.

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

Note: You can run inventoryContent --metadata-server=false to inventory


only the file system. This is useful if you need to run the inventory application
multiple times, but you do not want to inventory the metadata each time. For
example, if you want to inventory multiple machines, you can run the inventory
application on the first machine, and then use the --metadata-server=false option
on additional runs to prevent the inventorying of metadata on subsequent machines.
49

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.

Profiling SAS Relationships


Before running the application, determine whether your SAS 9.4 system has been
building the Relationship database.

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

Profiling Platform Suite for SAS Objects


To profile flow definitions that are created by Platform Suite for SAS 10.1.x or higher,
you must uncomment ASSESSMENT_IBM_JEXPORT_XMLDIR in the setenv.yaml
file. For ASSESSMENT_IBM_JEXPORT_XMLDIR, you must specify a directory
containing XML files in a flat structure created by the Platform Suite for SAS 10.1.x
or higher JEXPORT command. For information about how to use the JEXPORT
command, see JEXPORT

Profiling SAS Data Integration Studio


Objects
You can determine what source tables a SAS Data Integration Studio job uses and
what target tables it creates using the profile application. The profile application
creates a SAS data set in ASSESSMENT_DATAMARTDIR and includes all init
scripts.
Three reports are created for this content: SAS 9 Profile for SAS Data Integration,
SAS 9 Profile for SAS Data Integration Scheduling, and SAS 9 Profile for SAS Data
Integration Supplementary.

Prioritizing SAS Data Integration Studio Jobs for


Migration
You can prioritize your SAS Data Integration Studio jobs for the migration process.
After you run the profile application, an infiles/server_label/
dis_job_priority.csv file containing all jobs is created for each server label.
In this CSV file, each job’s priority value is None by default. The priority value can
be a valid SAS name no more than 32 characters long or a numerical value 1 to 10.
After you define priorities, run publishAssessedContent for profile. The data for the
SAS 9 Profile for SAS Data Integration report is created and includes the specified
priorities.
In the SAS 9 Profile for SAS Data Integration report, on the Job Migration tab, use
the Select a job migration priority menu to select a priority for viewing jobs.
Priority values are ordered numerically and then alphabetically.
Profiling SAS Enterprise Miner Projects 53

Profiling SAS Enterprise Miner Projects


SAS Enterprise Miner projects can be saved in almost any location, even across
multiple machines. As a result, you might need to run the profile application on
various machines.

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.

n On each machine containing SAS Enterprise Miner projects, unpack SAS


Content Assessment.
n On each machine, edit the metaparms.sas file and setenv.yaml file, specifying all
applicable values. For the METADATALABEL value in the metaparms.sas file,
you must specifically set the deployment and machine on which you are
executing the profile application.
n To create a file that lists all objects that can be profiled, execute the following
command, depending on your operating system. For example, on AIX:
$ ./SAS9ContentAssessment/assessment/profileContent.ksh --generate-content-list

On Windows systems:
C:\SAS9ContentAssessment\assessment> profileContent.exe --generate-content-list

This command creates a file named contentToBeProfiled.yaml. This file contains


a list of all SAS objects that can be profiled. If you are interested in only SAS
Enterprise Miner projects, delete or comment out all other objects.
n Execute the following command, depending on your operating system. For
example, on Linux:
$ ./SAS9ContentAssessment/assessment/profileContent --use-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

n The entire directory (for example, deployment-machine-EM) must be copied to


the machine on which you intend to publish your profiling results. It needs to be
copied into the data mart on that machine.
n When you publish your results, results from SAS Enterprise Miner projects from
each deployment and machine are included.
This process must be repeated on each deployment and machine. Be sure to
aggregate the results of each profile on the machine on which you intend to publish
your profiling results.
A report is created for this content: SAS 9 Profile for SAS Enterprise Miner.

Profiling SAS Enterprise Guide Projects


SAS Enterprise Guide projects can be saved in almost any location, even across
multiple machines. As a result, you might need to run the profile application on
various machines. SAS must be installed on the same machine as SAS Enterprise
Guide to perform profiling. The profile process must be repeated on each
deployment and machine. Be sure to aggregate the results of each profile on the
machine on which you intend to publish your profiling results. A report is created for
this content: SAS 9 Profile for SAS Enterprise Guide.
n On each machine containing SAS Enterprise Guide projects, unpack SAS
Content Assessment.
n On each machine, edit the metaparms.sas file, setenv.yaml file, and pathslist.txt
file, specifying all applicable values.
o For the METADATALABEL value in the metaparms.sas file, you must
specifically set the deployment and machine on which you are executing the
profile application.
o In the setenv.yaml file, by default, the
EXTRACTED_ENTERPRISE_GUIDE_PROJECTSDIR property is
commented out. Uncomment it, and use this 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). If you use this property and profile SAS
Enterprise Guide projects in metadata, you use this property again when you
run the gather SAS code application.
o In the pathslist.txt file, specify the file system paths where SAS Enterprise
Guide projects exist. For more information about specifying profile locations,
review the instructions in the pathslist.txt file, which is found in your
Assessment directory.
n To create a file that lists all objects that can be profiled, execute the following
command, depending on your operating system. For example, on AIX:
$ ./SAS9ContentAssessment/assessment/profileContent.ksh --generate-content-list

On Windows systems:
C:\SAS9ContentAssessment\assessment> profileContent.exe --generate-content-list
Profiling SAS Enterprise Guide Projects 55

This command creates a file named contentToBeProfiled.yaml. This file contains


a list of all SAS objects that can be profiled. If you are interested in only SAS
Enterprise Guide projects, delete or comment out all other objects.
n Execute the following command, depending on your operating system. For
example, on Linux:
$ ./SAS9ContentAssessment/assessment/profileContent --use-content-list

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

n The entire directory (for example, deployment-machine-EG) must be copied to


the machine on which you intend to publish your profiling results. It needs to be
copied into the data mart on that machine.
n When you publish your results, results from SAS Enterprise Guide projects from
each deployment and machine are included.

Prioritizing SAS Enterprise Guide Projects for


Migration
You can prioritize your SAS Enterprise Guide projects for the migration process.
After you run the profile application, an infiles/server_label/
eg_projects_priority.csv file containing all SAS Enterprise Guide projects is
created for each server label.
In this CSV file, each project’s priority value is None by default. The priority value
can be a valid SAS name no more than 32 characters long or a numerical value 1 to
10. After you define priorities, run publishAssessedContent for profile.
In the SAS 9 Profile for SAS Enterprise Guide report, on the Overall Project
Migration tab, use the Select a project migration priority menu to select a priority
for viewing projects. Priority values are ordered numerically and then alphabetically.
56 Chapter 8 / Executing the Profile Application

Profiling SAS Real-Time Decision


Manager Campaigns
You can run the profile application to get specific information about SAS Real-Time
Decision Manager campaigns. The results are written to SAS data sets in
ASSESSMENT_DATAMARTDIR. You must uncomment the
ASSESSMENT_RTDM_XML_OUTPUTDIR property in the setenv.yaml file, and
then set it to the location in which you want to extract campaigns. The default setting
for this property is $BASE_DIR/RTDMXMLOutput.
To profile campaigns, SAS Customer Intelligence integration utilities are required.
The integration utilities are a set of client-side Java programs that are located
outside of the application server used by SAS Customer Intelligence. They are
installed when SAS Customer Intelligence is installed. SAS Content Assessment
uses the extract utility to extract each campaign.

IMPORTANT The security model used by these integration utilities is the


same as for other clients of SAS Customer Intelligence. Only data for which
the user has at least Read permission is returned by the extract. The profile
application uses the SAS unrestricted user. It is recommended that this
specific user be a member of the SAS Customer Intelligence Administrator
group on the SAS 9 system.

A report is created for this content: SAS 9 Profile for SAS Real-Time Decision
Manager.

Profiling SAS Servers


You can run the profile application to get specific information about SAS servers,
with additional information about SAS/CONNECT servers, SAS/CONNECT
spawners, and SAS Grid servers. Results are written to a SAS data set in
ASSESSMENT_DATAMARTDIR. The data set includes applicable information for
each server or spawner.
A report is created for this content: SAS 9 Profile for SAS Servers.
Profiling SAS Data Sets 57

Profiling SAS Data Sets


You can run the profile application to get specific information about SAS data files
(any file with a .sas7bdat extension), such as its file system characteristics, status,
size, numbers of variables and observations, and so on. In addition, variable
characteristics are provided, such as variable name, length, type, informat, format,
and so on. Results are written to a SAS data set in
ASSESSMENT_DATAMARTDIR.
Limited information is available for SAS data files that cannot be accessed, possibly
because of permission or encryption.
A report is created for this content: SAS 9 Profile for SAS Data Sets.
58 Chapter 8 / Executing the Profile Application
59

9
Executing the Gather SAS Code
Application

Gather SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59


Gather SAS Code Output Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
SAS Stored Processes Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
SAS Catalogs Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
SAS Enterprise Guide Projects Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
SAS Enterprise Miner Projects Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
SAS Data Integration Studio Jobs Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Gather SAS Code


The gather SAS code application gathers SAS code from SAS objects, and then
writes the code to an output location on the local file system for analysis. This
creates a single central location in which all SAS code is gathered so that you can
efficiently and effectively analyze it. Furthermore, the output from this application
facilitates the work that the code check applications do to determine whether your
SAS code is compatible on the SAS Viya platform.

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

The application has the following options:


--stored-processes
Specifies to gather SAS code from SAS stored processes.
--sas-catalogs
Specifies to gather SAS code from SAS catalogs.
--eg-projects
Specifies to gather SAS code from SAS Enterprise Guide projects.
--em-projects
Specifies to gather SAS code from SAS Enterprise Miner projects.
--di-jobs
Specifies to gather SAS code from SAS Data Integration Studio jobs.
--all
Specifies to gather SAS code from all SAS objects supported by this application.
The application writes the code to an output location on the local file system for
analysis. If a SAS code source file referenced in any SAS object 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.
The output location is specified in the setenv.yaml file using the
SAS_CODE_OUTPUT_LOCATION property. For more information, see
“setenv.yaml”.

Note: A log file is created. It is located in ASSESSMENT_LOGDIR/gathersascode/


METADATALABEL. The log is named using the following date and time format:
gatherSASCode-yyyy-mm-dd-HH.MM.SS.log

Gather SAS Code Output Directory


Structure
The original location of the object is where the object originated. This original
location is useful because you might need to access the object before or after
migration.
For an object gathered from metadata, the application re-creates the object’s
original path under the Metadata folder.
SAS Enterprise Guide Projects Details 61

For an object gathered from the file system, the application re-creates the object’s
fully qualified path under the FileSystem folder.

SAS Stored Processes Details


The gather SAS code application displays some important information about SAS
stored processes.
n It reports how many SAS stored processes were processed.

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

SAS Catalogs Details


When the --sas-catalogs option is set, SAS code is gathered from external SAS
catalogs.
The extracted SAS code is saved to a directory based on the fully qualified path of
the SAS catalog. For example:
gatheredSASCode/server label/SASCatalogs/FileSystem/install/SASServer/SASHome
/SASFoundation/9.4/samples/base/screen

SAS Enterprise Guide Projects Details


When the --eg-projects option is set, SAS code is gathered from SAS Enterprise
Guide projects on disk. The gather SAS code application gathers SAS Enterprise
Guide projects on all operating systems - Windows, AIX, and Linux.
If you specified a location for the
EXTRACTED_ENTERPRISE_GUIDE_PROJECTSDIR property in the setenv.yaml
file during profiling, be aware that this location will also be searched for SAS
Enterprise Guide projects to gather content from. If you do not want this to happen,
re-comment out the line referencing the
62 Chapter 9 / Executing the Gather SAS Code Application

EXTRACTED_ENTERPRISE_GUIDE_PROJECTSDIR property in the setenv.yaml


file.
Each directory is analyzed for SAS Enterprise Guide projects that have tasks that
use SAS code.
The extracted SAS code is saved to a directory based on the fully qualified path of
the SAS Enterprise Guide project. For example:
gatheredSASCode/server label/SASEGProjects/tmp/EGProject

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.

SAS Enterprise Miner Projects Details


When the --em-projects option is set, SAS code is gathered from SAS Enterprise
Miner projects and their content.

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

SAS Data Integration Studio Jobs Details


The gather SAS code application displays some important information about SAS
Data Integration Studio jobs.
n It reports how many SAS Data Integration Studio jobs were processed.

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.

IMPORTANT This option must begin with a letter or underscore, can


contain only alphanumeric and underscore characters, and cannot be
longer than 24 characters.

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

Note: When specifying a directory, escape special characters or enclose in


quotation marks as necessary for your operating system.

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

n It detects SQL explicit pass-through so that a DBMS specified in PROC SQL is


included in the code check reports.

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 Stored Processes report

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

Code Check for I18N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Code Check for I18N


The code check for i18n application attempts to find known internationalization
issues in SAS programs. Internationalization (i18N) is a process by which a program
is optimized so that it can be adapted to any language and region without needing
to be rewritten.
To run the code check for i18n 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> i18nCodeCheck.exe

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.

IMPORTANT This option must begin with a letter or underscore, can


contain only alphanumeric and underscore characters, and cannot be
longer than 24 characters.

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

Note: When specifying a directory, escape special characters or enclose in


quotation marks as necessary for your operating system.

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

Summarize SAS Log Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Summarize SAS Log Steps


To run the summarize SAS log steps 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/summarizeSASLogSteps.ksh

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.

Note: A log file is created. It is located in ASSESSMENT_LOGDIR/summarizelogs/


METADATALABEL. The log is named using the following date and time format:
summarizeSASLogSteps-yyyy-mm-dd-HH.MM.SS.log

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

SAS 9 Application Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

SAS 9 Application Usage


Application usage counts the number of users for SAS applications on SAS
Workspace Servers and obfuscates all user IDs in the results. 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.

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

The application has the following options:


--config-dir
Specifies the SAS configuration directory that contains a SAS Object Spawner.
--details
Specifies to display additional information, including user IDs not yet
obfuscated..

IMPORTANT If you are a current active SAS Enterprise Session Monitor


user and you have or will run SAS Content Assessment in your AIX
76 Chapter 13 / Executing the SAS 9 Application Usage Application

deployment, a file named UTL_reconcileUserIDs.sas file in the utilities


directory is provided to build a common set of user-to-obfuscated-user data.
You must edit the three %let values before running the file.

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.

Note: A log file is created. It is located in ASSESSMENT_LOGDIR/


applicationusage/METADATALABEL. The log is named using the following date and
time format:
applicationUsage-yyyy-mm-dd-HH.MM.SS.log
77

14
Executing the Create Enterprise
Miner Batch Code Application

Create Enterprise Miner Batch Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Create Enterprise Miner Batch Code


The create Enterprise Miner batch code application creates SAS Enterprise Miner
batch code customized for each SAS Enterprise Miner project’s encoding. Batch
code is created in the project’s unique encoding (for example, Shift JIS, WLATIN1,
EUC-CN, and so on). A new property named
ASSESSMENT_EM_BATCH_CODE_OUTPUT_LOCATION in the setenv.yaml file
controls where the batch code is created. The application has the following
requirements:
n SAS must be installed on the same machine as SAS Enterprise Miner to run this
application.
n This application must be able to physically access the SAS Enterprise Miner
projects that it is processing.
n SAS Enterprise Miner must be profiled before this application can be used.

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.

Note: A log file is created. It is located in ASSESSMENT_LOGDIR/embatchcode/


METADATALABEL. The log is named using the following date and time format:
createEMBatchCode-yyyy-mm-dd-HH.MM.SS.log
79

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 a Windows example for the code check application:


C:\SAS9ContentAssessment\assessment> publishAssessedContent.exe --datamart-type codecheck
80 Chapter 15 / Executing the Publish Application

Here is an AIX example for the profile application:


$ ./SAS9ContentAssessment/assessment/publishAssessedContent.ksh –-datamart-type profile

Here is an AIX example for the code check for i18n application:
$ ./SAS9ContentAssessment/assessment/publishAssessedContent.ksh –-datamart-type i18n

The publish application supports an option to not mask (obfuscate) personal


identifiable information (PII). The default is to mask (obfuscate) PII. Specify the --no-
pii-substitution option to reveal PII.

IMPORTANT For security, in LIBNAME statements, user names, user IDs,


URLs, and passwords are obfuscated when you publish.

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

What Does Publish Mean?


SAS Content Assessment supports running against multiple deployments, one
deployment per run. As a result, you need to consolidate data. So, publishing is a
required process for all SAS Content Assessment actions. Resulting data sets are
tagged to indicate what deployment they are associated with.

Protecting the Data


SAS takes data security seriously. Although applications are run within a user’s
environment and security infrastructure, you might want to share the data. SAS
Content Assessment users can share results to help define and determine the
future. In this case, data encryption is required.
The publish application supports Advanced Encryption Standard (AES) and SAS
Proprietary encryption of its data files. See “About Encryption on SAS Data Files” in
SAS Language Reference: Concepts for more information.
To encrypt the published data mart, perform the following steps:

1 Execute the publish application with either of the following options:


--encrypt-aes
--encrypt-sas
2 When requesting AES encryption, a key is discovered or generated as follows by
the publish application:
n If an encoded password exists in the metaparms.sas file, that value is used
as the key.
Merging and Publishing 81

n Otherwise, a key is generated. For example, a generated key might look like
the following:
d20d34cc7a612c0abf6da6467acb186c004276427e8e8517b7cac104f585c533

3 An encoded password must be specified in the metaparms.sas file.

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.

n It must start with a letter (A-Z or a-z) or an underscore.

n All subsequent characters are letters (A-Z or a-z), underscore symbols, or


digits (0-9).
If you use AES encryption to encrypt the published data mart, the value for
SASENCRYPTIONPASSWORD can be no longer than 64 characters. It is
generated for you if no value for SASENCRYPTIONPASSWORD is specified.

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

5 SAS code verifies the encryption method.


n If verification is successful, publishing proceeds. The resulting data sets are
merged and encrypted when they are written to the directory specified by
ASSESSMENT_DATAMARTDIR.
n If verification is not successful, the publishing process terminates.

Merging and Publishing


At this point, the publishing process proceeds to merge the data sets from each data
mart into a single set of data sets. (A data mart is created each time a deployment is
inventoried, profiled, code is checked, or SAS log steps are summarized.) For the
code check applications, a single set exists at the root of the directory specified by
ASSESSMENT_DATAMARTDIR, under a subdirectory named codecheck. For the
profile application, if you have different hosts in your SAS 9.4 environment, the data
sets resulting from the profiling of each host cannot be properly merged into a single
82 Chapter 15 / Executing the Publish Application

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.

A log for the entire publish application execution is located in


ASSESSMENT_LOGDIR. The log is named using the following date and time
format:
publishAssessedContent-yyyy-mm-dd-HH.MM.SS.log

Sharing Your Results with SAS


It might be necessary for you to share your published data marts with SAS to
facilitate creating a migration proposal and roadmap.
The --create-uploads option on the publishAssessedContent command creates a
TGZ file (on Linux and AIX) or a ZIP file (on Windows) in the
ASSESSMENT_UPLOADSDIR directory. This directory contains your published
data mart results for uploading to SAS and the reports applicable to that data mart.
In addition, it creates a SAS file containing an encryption key.
The file is named based on the following formats:
customer-name_data-mart-type_short-host-name
customer-name_data-mart-type_short-host-name_assessment-key.sas
customer-name_data-mart-type_short-host-name_reports.tgz
For example, these are valid file names:
OURCustomer_profile_abcdef03470.tgz

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

IMPORTANT When creating archives to be uploaded to SAS, all data sets


are compressed using SAS data set compression. This is done automatically
to save space and does not require user interaction. For more information
about SAS data set compression, review information about the COMPRESS=
Sharing Your Results with SAS 83

DATA step option from Programming Documentation for SAS 9.4 and SAS
Viya 3.5.

Here is an example of a valid command on Linux:


$ ./SAS9ContentAssessment/assessment/publishAssessedContent --create-uploads
--datamart-type profile --encrypt-aes

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

Import SAS Content Assessment Data and Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Import SAS Content Assessment Data


and Reports
The import SAS Content Assessment data and reports application 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.
To run the import SAS Content Assessment data and reports 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> importAssessedContent.exe

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 performs any required or optional preparatory steps such as


obfuscating PII (personal identifiable information).
n You can review the data and reports directly in SAS Visual Analytics.

n The application overwrites any existing SAS Content Assessment data and
reports.

Note: A log file is created. It is located in ASSESSMENT_LOGDIR/specified-data-


mart. The specified-data-mart is the data mart type that is selected for importing.
The log is named using the following date and time format:
importAssessedContent-yyyy-mm-dd-HH.MM.SS.log
88 Chapter 16 / Executing the Import SAS Content Assessment Data and Reports Application
89

17
Executing the Preview Assessed
Content Application

Preview Assessed Content Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Preview Assessed Content Application


The preview assessed content application queries published SAS data sets for
specific data points. The SAS data sets are located in a data mart specific to the
SAS Content Assessment application that you are querying. The application creates
CSV files containing the results of the queries. This application complements the
SAS Content Assessment reports. The reports should be used to review detailed
and thorough information. This application should be used to quickly preview
assessed content, and it allows you to do so without importing to SAS Viya.
To run the preview assessed content application, 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> previewAssessedContent

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.

n The application creates CSV files in the ASSESSMENT_PREVIEWSDIR


\datamart-type\CSVs directory.

Note: A log file is created. It is located in assessment/logs/preview/datamart-type.


The log is named using the following date and time format:
previewAssessedContent_hostname_yyyy-mm-dd-HH.MM.SS.log
91

18
Executing the Create FAR
Packages Application

Create FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Create FAR Packages


The create FAR packages application creates SAS Forecast archives for specified
SAS Forecast Server projects to be migrated to the SAS Viya platform.
To run the create FAR packages application, execute the following command from
the directory in which you unpacked or unzipped the file. This needs to be on an
application server context system. Here is an example of the command on
Windows:
C:\SAS9ContentAssessment\assessment> createFARPackages.exe

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

The application has the following options:


--source-file
Specifies the location of the CSV file containing the SAS Forecast Server
projects to create a SAS package for.
--version
Displays the application's version.
For more information, see “Creating Multiple Project Archives from SAS Forecast
Studio” in SAS Visual Forecasting: User’s Guide.
92 Chapter 18 / Executing the Create FAR Packages Application

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.

Note: A log file is created. It is located in ASSESSMENT_LOGDIR/createfars/


METADATALABEL. The log is named using the following date and time format:
createFARPackages-yyyy-mm-dd-HH.MM.SS.log
93

19
Executing the Create SAS
Packages Application

Create SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
SAS Stored Processes Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Create SAS Packages


The create SAS packages application creates SAS packages for the specified SAS
metadata objects. SAS stored processes and SAS Data Integration Studio jobs are
supported for packaging.
To run the create SAS packages 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> createSASPackages.exe

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

The application has the following options:


--source-file
Specifies the location of the CSV file containing the SAS metadata objects to
create SAS packages for.
--version
Displays the application's version.
94 Chapter 19 / Executing the Create SAS Packages Application

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.

IMPORTANT If the SAS 9 Profile for SAS Data Integration report


includes data from multiple deployments, you can filter the report for a
specific deployment before you export the data.

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

Note: A log file is created. It is located in ASSESSMENT_LOGDIR/createspks/


METADATALABEL. The log is named using the following date and time format:
createSASPackages-yyyy-mm-dd-HH.MM.SS.log

SAS Stored Processes Packaging


Inventorying, profiling, gathering, and code checking, which are completed before
you create a SAS package, are typically performed using the sasadm@saspw
account (or any other unrestricted user account). However, to create a package for
a stored process that uses external source code, you must use an external account
associated with a host account. This account has to have access to both the stored
process and the external source code file if the source code is external. Because
this account is used for all stored processes in the CSV file, it must have access to
all the stored processes and any external source code files.For more information
about this external account requirement, see “Requirements for Accessing a
Standard Workspace Server” in SAS Intelligence Platform: System Administration
Guide.

IMPORTANT You must specify the external account in “metaparms.sas”.

IMPORTANT If you use an internal account (for example, the


sasadm@saspw account that you have used up to this point), you will
receive a warning, and any stored process that references external code will
not work after it is imported to the SAS Viya platform. The resulting package
appears usable, but it does not have the external code.

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

Create SAS Grid Import Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Create SAS Grid Import Data


The create SAS grid import data application gathers SAS Grid Server metadata and
formats it into JSON files that can be imported onto the SAS Viya 4 platform. You
must run the profile application first to gather this data.
It creates several files:
n For each SAS Grid server, a batch context and a launcher context are made. For
each corresponding SAS/CONNECT server, a SAS/CONNECT server context
and a SAS/CONNECT Launcher server context is made. These contexts are
used with the SAS Viya launcher and batch command-line plug-ins. Each
context file is named for its respective SAS Grid server or SAS/CONNECT
server.
n A YAML file of grid data is created for reference.

n Grid option sets are created, but currently unusable.

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

The application has the following options:


98 Chapter 20 / Executing the Create SAS Grid Import Data Application

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

Modify SAS Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Modify SAS Code


IMPORTANT The Modify SAS Code application requires that the SAS Code
Check application be run first.

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.

Note: A log file is created. It is located in ASSESSMENT_LOGDIR/modifysascode/


METADATALABEL. The log is named using the following date and time format:
modifySASCode-yyyy-mm-dd-HH.MM.SS.log

The modify SAS code application can be executed for any file system.
101

22
Executing the Import EG
Projects Application

Import EG Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Sample Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

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.

n Only authorized users can import EGP files.


n The SAS 9 Code Check for SAS Enterprise Guide Projects report has a table at
the top of the overview page. There are instructions about how to export this
table, which contains a list of SAS Enterprise Guide projects that are migration
candidates. In this list of projects, you can order the items in the import to ensure
that dependent items are imported in the correct sequence.
n You can specify the root folder to use as the starting point for all folders created
during the import process. The default folder is ConvertedEGProjects.
n Each converted SAS Enterprise Guide project is located under the root folder in
a folder structure that matches its file system’s folder structure.
n When importing large volumes of EGP files, the import can be broken down into
multiple imports to best manage performance and troubleshooting.
Sample Output 103

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

Creating a SAS Viya command-line interface profile.


Enter the Service Endpoint:
Enter the Service Endpoint: http://test2.ingress-nginx.ab12-c2.end.company.openstack.abc.com
The SAS Viya command-line interface profile "ImportEGProjectsProfile" has been created and
will be used.
Creating a SAS Viya command-line interface profile: SUCCESS

Authenticating to SAS Viya.


Enter credentials for http://test2.ingress-nginx.ab12-c2.end.company.openstack.abc.com:

Userid: youradm
Password:
Authenticating to SAS Viya: SUCCESS

Enumerating SAS Enterprise Guide projects to import.


Processing SAS Enterprise Guide project 6 of 6 from /u/janedoe/EGPs/EG.
Enumerating SAS Enterprise Guide projects to import: SUCCESS

Importing the specified SAS Enterprise Guide projects.


Processing 1 of 6 SAS Enterprise Guide project(s): /u/janedoe/EGPs/EG/project1.egp
The project was uploaded successfully with the ID: ee7ba743-b383-4e47-9691-c02c666992fa.
The project import was successful.

Processing 2 of 6 SAS Enterprise Guide project(s): /u/janedoe/EGPs/EG/project2.egp


The project was uploaded successfully with the ID: 7814d805-97d3-4f1a-9b8b-60c9d85b99a3.
The project import was successful.

Processing 3 of 6 SAS Enterprise Guide project(s): /u/janedoe/EGPs/EG/project3.egp


The project was uploaded successfully with the ID: 72a59e0f-6792-43db-a971-9fe95fbd1b04.
The project import was successful.

Processing 4 of 6 SAS Enterprise Guide project(s): /u/janedoe/EGPs/EG/project4.egp


The project was uploaded successfully with the ID: 8f4aaad3-e409-49ae-9773-357029d22077.
The project import was successful.

Processing 5 of 6 SAS Enterprise Guide project(s): /u/janedoe/EGPs/EG/project5.egp


The project was uploaded successfully with the ID: c0d06c2d-9069-4202-9b5f-f248643c8e35.
The project import was successful.
104 Chapter 22 / Executing the Import EG Projects Application

Processing 6 of 6 SAS Enterprise Guide project(s): /u/janedoe/EGPs/EG/project6.egp


The project was uploaded successfully with the ID: 597fd18c-559d-4138-a30a-d0a79f7284f3.
The project import was successful.
Importing the specified SAS Enterprise Guide projects: SUCCESS

6 SAS Enterprise Guide project(s) imported successfully.


0 SAS Enterprise Guide project(s) failed to import.
0 SAS Enterprise Guide project(s) were skipped.

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

sas-viya.exe cas tables load --server cas-shared-default --caslib


SystemData --table ImportedItems --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

Import FAR Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Import FAR Packages


The import FAR packages application imports FAR packages containing SAS
Forecast Studio archives to the SAS Viya 4 platform.
To run the import FAR packages 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> importFARPackages.exe

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.

The application has the following options:


106 Chapter 23 / Executing the Import FAR Packages 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.
--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

Import SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107


Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Import SAS Packages


The import SAS packages application imports SAS packages containing SAS Data
Integration Studio jobs and SAS stored processes to SAS Viya 4.
To run the import SAS packages 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> importSASPackages.exe

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.

The application has the following options:


108 Chapter 24 / Executing the Import SAS Packages 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.
--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

SystemData --contains-header-row --scan-rows 99999 --replace --force --table


ImportedItems --source-file ./importHist.csv --super-user

sas-viya.exe cas tables load --server cas-shared-default --caslib


SystemData --table ImportedItems --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.
110 Chapter 24 / Executing the Import SAS Packages Application
111

25
Executing the Import SAS Grid
Packages Application

Import SAS Grid Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111


Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Import SAS Grid Packages


The import SAS grid packages application imports SAS Viya transfer packages
containing SAS grid data to SAS Viya 4.
To run the import SAS grid packages 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> importSASGridPackages.exe

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.

The application has the following options:


112 Chapter 25 / Executing the Import SAS Grid Packages 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.
--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

sas-viya.exe cas tables load --server cas-shared-default --caslib


SystemData --table ImportedItems --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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113


Product-Specific Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Immediate Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

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

Here is the example of the command on Windows:


C:\SAS9ContentAssessment\assessment> systemEvaluation.exe

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

n SAS Deployment Wizard logs, setup information, and deployment plans

n SAS metadata extracts1

n SAS configuration data, logs, utility files, and property files

n SAS Web Application Server logs, environment, configuration, and scripts 1

n SAS Cache Locator logs 1

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

n SAS JMS Broker logs 1

n System evaluation logs and summary and topology reports

If ASSESSMENT_SWEEPER_FULL_MODE is set to FALSE, the following subset


of content is included:
n SAS Deployment Registry content

n SAS Deployment Wizard deployment plans

n SAS metadata extracts 1

n SAS configuration data, logs, and utility files

n System evaluation logs and summary and topology reports

IMPORTANT In either case, because this archive contains a lot of content,


make sure that you have enough disk space. A way to estimate disk space is
to make sure you have enough for the configuration log files you currently
have as well as your SAS web application logs.

In the ASSESSMENT_RESULTSDIR directory, a


SystemEvaluationResults.properties file is created. This file provides properties,
errors, and an error count.
In addition, a log file is created. It details the results of the evaluated system and is
named using the following format:
.../evaluation/deployment name/systemEvaluation_short-host-name_
config-level_yyyy-mm-dd-HH.MM.SS.log
The log file uses specific wording to enable easier searching and better
communication with SAS Technical Support. Wording is summarized at the end of
the log file and uses the following form:
SAS9CASE-ISSUE

For example, suppose your log file has the following content:
SAS9CASE-LOGCHECK
SAS9CASE-STATUSXMLMULTIORDERS

LOGCHECK indicates that one or more configuration logs in the specified


configuration directory contained issues. All logs are archived in
ASSESSMENT_RESULTSDIR, so this information can be provided to SAS
Technical Support. Based on this content, an issue or warning occurred. If this issue
is not resolved, a future SAS software upgrade could experience challenges.
STATUSXMLMULTIORDERS indicates that multiple SAS software orders are in the
SAS installation directory (SASHome) as well as in the specified configuration
directory. This scenario does not usually cause problems. However, if you
experience issues upgrading your software, it is important to provide this information
to SAS Technical Support.
Details are provided for each issue to help diagnose potential problems.
System evaluation produces HTML reports as a part of its execution. These reports
are in the subdirectory SummaryReports in ASSESSMENT_RESULTSDIR. Some
are created on each machine where system evaluation is run. Required support
content is provided in the SummaryReports subdirectory.
Two reports are created:
Immediate Failures 117

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

The SAS Deployment Registry file, registry.xml, is in the following directory on


Linux:
/opt/sas/SASHome/deploymentreg

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.

Import the SAS Content Assessment


Data into CAS
The import SAS Content Assessment data and reports application 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. For more information, see “Import SAS Content Assessment Data and
Reports”.
You can also use SAS Environment Manager. From the SAS Viya 3.x or SAS Viya 4
system, use the Data icon in SAS Environment Manager to import the resulting data
sets or CSV files into a caslib. For example, you might choose Public, which is the
default caslib. For the CSV file created by the import EG projects application, you
must use the SystemData caslib and name the table ImportedItems. See “Importing
Local Files” in SAS Data Explorer: User’s Guide for more information.
120 Chapter 27 / Importing the Data Mart

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.

Import a SAS Content Assessment


Report onto the SAS Viya Platform
As an administrator on the SAS Viya 3.x or SAS Viya 4 system, use the Import icon
in SAS Environment Manager to import a SAS Visual Analytics report onto the SAS
Viya platform.
n assessment/packages/inventory/SAS_9_Inventory.json

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 If a version of the report already exists, it is overwritten.

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

n /Public/SAS Content Assessment/Code Check

n /Public/SAS Content Assessment/SAS Enterprise Miner Batch Code

n /Public/SAS Content Assessment/Inventory

n /Public/SAS Content Assessment/Profile

n /Public/SAS Content Assessment/Summarize Logs

Viewing SAS Content Assessment


Reports on the SAS Viya Platform
To view reports in SAS Viya 3.x or SAS Viya 4, navigate to the following folders:
n /Public/SAS Content Assessment/Application Usage

n /Public/SAS Content Assessment/Code Check

n /Public/SAS Content Assessment/SAS Enterprise Miner Batch Code


122 Chapter 27 / Importing the Data Mart

n /Public/SAS Content Assessment/Inventory

n /Public/SAS Content Assessment/Profile

n /Public/SAS Content Assessment/Summarize Logs

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

SAS Can Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

SAS Can Help


You can send your SAS Content Assessment data mart to SAS. Sharing your
results with SAS influences future migration development priority.
A SAS Account Team is assigned to analyze your data mart and help you develop a
SAS Viya migration proposal and roadmap.
Here are the steps:

1 Ensure that your data mart is published, encrypted, and present in


ASSESSMENT_UPLOADSDIR.

2 Complete this form.

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.

Gather SAS Code Output


Here is an example of output from the gatherSASCode command:
843 record(s) were read from /ABC_testing/users/abcsas/assessment/infiles
/Sample/StoredProcessCode.csv.
Processing SAS Stored Process 843 of 843.
A total of 843 SAS Stored Processes were processed: 803 succeeded 40 failed.
24 SAS Stored Processes utilize SAS code embedded in SAS metadata.
Of those, 24 were written to the selected output location.
819 SAS Stored Processes utilize SAS code externalized in the file system.
Of these SAS Stored Processes, 449 unique external files are used.
Of those, 430 were written to the selected output location.
See the application log for details on the failed SAS Stored Processes.
In general, failures in the extraction of external files usually result from the inability
to access them on the current host.
The SAS code gathered from each successfully processed SAS stored process was output to
/ABC_testing/users/abcsas/assessment/gatheredSASCode/SASStoredProcesses.
The SAS Stored Process code is organized by its original defined location.
126 Chapter 29 / Reference

Here is what the output means:


n 843 records were read from the CSV file and all were processed.

n The total of 843 processed equals 803 successful + 40 failed.

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.

Gather SAS Code Failures


If the gather SAS code application fails to process one or more SAS stored
processes, you can search the gatherSASCode log file located in the logs/
gathersascode/metadatalabel directory. For example, if you navigate to the logs/
gathersascode/metadatalabel directory, it contains the log file
gatherSASCode_machine_2021-01-20-09.20.34.log. In this file, submit the following
command:
grep "Unable to copy" gatherSASCode_machine_2021-01-20-09.20.34.log

You get results similar to the following:


Unable to copy SAS code to the specified location: open /install/SASServer/config/Lev1
/SASApp/Data/CDD/storedprocesses/myCode.sas: no such file or directory
127

30
Version History

Summary of 2021.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128


Summary of 2021.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Summary of 2021.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Summary of 2021.1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Summary of 2021.1.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Summary of 2021.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Summary of 2021.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Summary of 2021.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Summary of 2021.2.3 – Update 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Summary of 2021.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Summary of 2021.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Summary of 2021.2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Summary of 2022.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Summary of 2022.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Summary of 2022.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Summary of 2022.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Summary of 2022.09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Summary of 2022.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Summary of 2022.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Summary of 2022.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Summary of 2023.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Summary of 2023.02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Summary of 2023.03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Summary of 2023.04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Summary of 2023.05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
128 Chapter 30 / Version History

Summary of 2023.06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141


Summary of 2023.07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Summary of 2023.08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Summary of 2023.09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Summary of 2023.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Summary of 2023.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Summary of 2023.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Summary of 2024.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Summary of 2024.02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Summary of 2021.1.2
n SAS 9 Content Assessment now follows SAS Viya release numbering.

n A new application—create SAS packages—creates SAS packages for content


migration to the SAS Viya platform. Currently, using the profile application, you
can create packages for SAS Data Integration Studio jobs only.
n Using the profile application, you can see additional SAS Data Integration Studio
transforms that can be migrated.
n Inventorying file system paths now recognizes variables in the setenv.yaml file
and pathslist.txt file.
n SAS code in SAS Data Integration Studio jobs can be gathered in Windows and
Linux environments.
n The gather SAS code application now uses an intuitive output directory structure.
The new structure reflects the original location of the SAS object that contains
SAS code. There are new top-level Metadata and FileSystem directories.
n A new SAS 9 Code Check for SAS Jobs report is available for SAS code
gathered from SAS Data Integration Studio jobs.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.

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 code check application checks 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 Profiling libraries has been enhanced to include more information.

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.

n Code check data set size has been optimized.


n The pathslist.txt file is encoded in UTF-8 BOM by default to ensure the proper
processing of text.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.

Summary of 2021.2.3 – Update 1


Digital signatures of SAS Content Assessment Windows applications have been
updated.

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 Performance has significantly improved in gathering SAS code from SAS


artifacts.
n Performance has improved and data set size has been optimized in code check
applications.
n In various applications, there is improved error handling and standardization of
return code.
n A new SAS 9 Profile for SAS Libraries and Tables report is available.

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 The profile application profiles SAS Grid servers and metadata.

n The modify SAS code application is supported on AIX.

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.

2 The code check applications have recategorized several incompatibilities that


need evaluation before migration.
Summary of 2022.1.4 135

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 Application Server components.

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.

n Code check's performance is improved. You should use


ASSESSMENT_SAS_WORK_OPTION when a large amount of SAS programs
are scanned.
n Code check for internationalization has a Show Progress flag, the same flag
used in code check.
n System evaluation checks for all retired SAS products and provides instructions
for what to do.
n System evaluation checks whether SAS Remote Deployment Agent credentials
need to be regenerated.
n System evaluation prompts you to verify whether your operating system version
is supported in specific releases of SAS.
n System evaluation checks whether SAS Remote Services is running and alerts
users that it is not supported in SAS 9.4M8.
n In code check for internationalization, the Embedded String (EMS) issue's status
is changed from Error to Info.
n System evaluation warns you that the gemfire.member-timeout property is
removed if you upgrade to SAS 9.4M8.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.

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 SAS Data Integration Studio profiling determines whether File Writer


transformations can become Export steps and whether File Reader transforms
can become Import steps.
n SAS Data Integration Studio profiling no longer flags an implicit join
transformation as a reason to not become a Query step.
n Setting the Create as view option for an output table no longer prevents an
Extract transformation or a Join transformation from becoming a Query step.
n The create SAS grid import data application and the import SAS grid packages
application handle the migration of SAS/CONNECT servers to facilitate SAS Grid
server migration.
140 Chapter 30 / Version History

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 Obfuscation of personal identifiable information (PII) continues to be added


where applicable and appropriate.
n The SAS 9 Summarize SAS Log Steps report is enhanced.

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.

n The sas-admin CLI can be used with importAssessedContent to import results to


SAS Viya 3.
n Enhancements have been made, performance has improved, and issues have
been addressed across the applications.
Summary of 2023.11 143

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 The SAS 9 Profile for SAS Enterprise Guide 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 profile application no longer checks for Join transformations using


subqueries.
n The profile application profiles SAS Real-Time Decision Manager campaigns
and creates a SAS 9 Profile for SAS Real-Time Decision Manager report with
results.
n SAS 9 Content Assessment for Linux PC Users supports the gather SAS code
application and includes gathered code when running the code check
application.
n SAS 9 Content Assessment for Windows PC Users supports the gather SAS
code application and includes gathered code when running the code check
application.
n The SAS 9 Profile for SAS Servers report has been enhanced. A Migration
Status tab shows server migration statuses for SAS Grid server and
SAS/CONNECT server pairs.
Summary of 2024.02 145

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

You might also like