SlideShare a Scribd company logo
1 of 28
Download to read offline
Copyright © 2013 Quintiles
Customizing Project
Specific SAS Session
Saurabh Patel
All opinions expressed in this presentation are the author’s personal views,
and may not reflect the opinions or views of Quintiles.
2
We will see….
• What is it?
• Why it's needed?
• How to overcome limitations?
• How it's useful?
• How to implement?
• Benefits
3
What is it?
• Build a Dynamic user friendly project specific SAS session with just one double
click.
• Which allows users to Optimum use of system options and Direct access to
project specific documents from SAS window itself instead of windows explorer.
4
Why it’s needed?
5
Regular process to initialize project specific SAS session
First create
SAS session
Then run particular project
specific setup or autoexec file
Ready to work
Project specific SAS
Session
1 2 Final
• Two Step (Open and Run) TIME consuming process
• Always need to run first autoexec.sas or setup.sas file to initialize library
and import catalog.
Limitations of Regular process
6
Unable to modify the default
Text "SAS" of AWS title bar after startup of SAS .
• AWS title bar will be helpful to distinguish between multiple project SAS
sessions.
Limitations of Regular process
7
Unable to change initial location as project location
for Open and Save As dialog after SAS startup.
• Need to update SAS initial folder location manually for each new session.
Limitations of Regular process
8
Receiving Warning and Note while opening multiple
SAS sessions or parallel executing batch submit.
Limitations of Regular process
9
How to overcome these limitations?
10
• The SAS configuration file contains only SAS system options that are used to
establish SAS session.
• Differences between Configuration and Autoexec Files
• Configuration file can contain only SAS system options settings, while
autoexec files can contain any valid SAS statement.
• Configuration files are processed before SAS initializes, while autoexec
files are processed immediately after SAS initializes.
• User can edit the default configuration file to add or to change the system
option settings, or can create own project specific configuration file.
• Then user can specify own project specific configuration file to act as the
configuration file, thus overriding the default SASV9.CFG file.
SASV9.CFG
11
SASV9.CFG
• For, The English language, the default configuration SASV9.CFG file is
stored in "SASFoundation9.2nlsensasv9.cfg".
12
Examples of useful SAS system options
How it's useful?
13
AWSTITLE
• Syntax
-AWSTITLE "title-text"
> "Title-text" specifies the text that appears in the title bar of the main
SAS window.
> The text must be enclosed in either single or double quotation marks.
-awstitle "ConSPIC 2013"
14
AUTOEXEC
• Syntax
-AUTOEXEC "file-specification"
> specifies the SAS autoexec filename with path to initialize library and
import catalog.
-autoexec "C:usersdesktopConSPIC 2013setup.sas"
15
SPLASH and SPLASHLOC
• Syntax
-SPLASH | -NOSPLASH
> Specifies whether to display the splash screen (logo screen) when SAS starts.
• -SPLASHLOC DLL-name <res-number> | BMP-filename
> Specifies the location of the splash screen bitmap that appears when SAS starts.
-SPLASHLOC "C:usersdesktopConSPIC 2013ConSPIC.bmp"
16
SASINITIALFOLDER
• Syntax
-SASINITIALFOLDER "path of location"
> specifies the path of the project folder as the default folder for the
Open and Save As dialog boxes.
> If path contains spaces, it must be enclosed in quotation mark.
-SASINITIALFOLDER "C:UsersDesktopConSPIC 2013"
17
RSASUSER
• Syntax
-RSASUSER| -NORSASUSER
> RSASUSER limits access to the Sasuser data library to read-only access.
• So, By defining RSASUSER, User can avoid these note and warnings while
opening multiple SAS Sessions and parallel executing batch mode.
18
REGISTER
• Adds an application to the Tools menu in the main SAS window.
• If file path contains space then put path in single inverted quotation and
add double quotation with one space as prefix and suffix.
-register "SAP" " 'C:UsersDesktopConSPICsap v1sap.docx' "
-register "Mock Shell" " 'C:UsersDesktopConSPICshellmock shell.rtf' "
-register "Protocol" " 'C:UsersDesktopConSPICprotocolprotocol.pdf' "
19
Combine all these options to append default SASV9.CFG
and Create a New Project specific ConSPIC2013.CFG file
20
How to implement Dynamic process
with project specific SASV9.CFG?
21
Dynamic process to initialize project specific SAS session
1
Just execute (double-click)
Project Specific Shortcut File
Ready to work
Project specific SAS Session
Final
Windows Shortcuts
• Shortcuts are one of the handiest features on the Windows operating system.
• The shortcuts can be kept on the desktop or inside a special folder.
• Double-clicking the icon makes it very convenient to activate the application
without keeping track of the application’s actual location.
22
1. Make a copy from the existing SAS shortcut on the desktop.
2. Right-click on the desktop and click New on the context menu, and then
select Shortcut on the extended submenu. Click the Browse button to
find the sas.exe file in the !SASROOT directory.
3. Using Shell Scripting or Windows Scrip Host.
A SAS shortcut can be created in a
number of different ways:
23
It is very convenient to open multiple project
specific SAS Sessions from location.
But sometimes it will lead to major human error
like transfer of one project code to other project.
How to restrict only one project specific
SAS Session at a time?
24
VB Script Shortcut
• VBScript has been pre-installed in every Windows OS since Windows 98
• It is very simple to create. Create New Notepad file and put below code in text
file and SAVE AS file with .vbs file extension.
Set WshShell = WScript.CreateObject ("WScript.Shell")
Set colProcessList = GetObject("Winmgmts:").ExecQuery ("Select * from Win32_Process")
For Each objProcess in colProcessList
If objProcess.name = "sas.exe" then
vFound = True
End if
Next
Select case vFound
case True
WshShell.Run("taskkill /im sas.exe /t")
case else
WshShell.Run("D:sassas.exe -config 'C:UsersDesktopConSPIC 2013ConSPIC2013.CFG' ")
End Select
It will check whether any
SAS Session open or Not?
IF True, Then it will ask to
Close first Session
Else, It will initialize Project Specific SAS Session
25
Benefits
• Dynamic process(single step process) is helpful to save time.
• Just one time creation of customize project specific config file like autoexec
file is helpful to optimum use of SAS system options.
• Direct Access to project specific documents from SAS window, is very
convenient and user-friendly.
• Specifying latest working version of documents(like SAP, Mock Shell) in Tools
Menu bar is reducing ambiguity regarding project specific documents.
• Prevent major human error by allowing only One Project Specific SAS
Session at a time.
26
References
• Cheng, Wei (2003). “Build a SAS Development Environment under Windows,”
Proceedings of the 28th annual SAS Users Group Conference
http://www2.sas.com/proceedings/forum2007/063-2007.pdf
• Crawford, Peter (2007) “Easy SAS Session Customization,” Proceedings of the
27th annual SAS Users Group Conference
http://www2.sas.com/proceedings/forum2007/051-2007.pdf
• Hurley, George J. (2007). “Customizing Your SAS Initialization,” Proceedings
of the 27th annual SAS Users Group Conference
http://www2.sas.com/proceedings/forum2007/063-2007.pdf
• Thatcher, Clark (2010). “Make Your SAS Code Environmentally Aware,”
Proceedings of SAS Global Forum 2010
http://support.sas.com/resources/papers/proceedings10/090-2010.pdf
27
28
Contact: saurabh.patel@quintiles.com

More Related Content

What's hot

SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerSCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerKenny Buntinx
 
VMware compute driver for OpenStack
VMware compute driver for OpenStackVMware compute driver for OpenStack
VMware compute driver for OpenStackopenstackindia
 
Pure cdaviewer
Pure cdaviewerPure cdaviewer
Pure cdaviewermerckator
 
About Caching
About CachingAbout Caching
About CachingWeng Wei
 
Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsBrettTasker
 
DotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactDotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactChen-Tien Tsai
 
Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014Barney Hanlon
 
OSGifying the repository
OSGifying the repositoryOSGifying the repository
OSGifying the repositoryJukka Zitting
 
Caching Enhancement in ASP.NET 4.0
Caching Enhancement in ASP.NET 4.0Caching Enhancement in ASP.NET 4.0
Caching Enhancement in ASP.NET 4.0Abhijit Jana
 
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisBuilding a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisExove
 
CFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful CodeCFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful Codeindiver
 
ActiveMQ Performance Tuning
ActiveMQ Performance TuningActiveMQ Performance Tuning
ActiveMQ Performance TuningChristian Posta
 
Accelerating virtualized Oracle 12c performance with vSphere 5.5 advanced fea...
Accelerating virtualized Oracle 12c performance with vSphere 5.5 advanced fea...Accelerating virtualized Oracle 12c performance with vSphere 5.5 advanced fea...
Accelerating virtualized Oracle 12c performance with vSphere 5.5 advanced fea...Principled Technologies
 

What's hot (20)

SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerSCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
 
VMware compute driver for OpenStack
VMware compute driver for OpenStackVMware compute driver for OpenStack
VMware compute driver for OpenStack
 
CFML Sessions For Dummies
CFML Sessions For DummiesCFML Sessions For Dummies
CFML Sessions For Dummies
 
Pure cdaviewer
Pure cdaviewerPure cdaviewer
Pure cdaviewer
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir DžaferovićJavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
 
About Caching
About CachingAbout Caching
About Caching
 
Asp.net caching
Asp.net cachingAsp.net caching
Asp.net caching
 
Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applications
 
Caching in asp.net mvc
Caching in asp.net mvcCaching in asp.net mvc
Caching in asp.net mvc
 
DotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactDotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + react
 
Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014Next Generation DevOps in Drupal: DrupalCamp London 2014
Next Generation DevOps in Drupal: DrupalCamp London 2014
 
OSGifying the repository
OSGifying the repositoryOSGifying the repository
OSGifying the repository
 
Caching Enhancement in ASP.NET 4.0
Caching Enhancement in ASP.NET 4.0Caching Enhancement in ASP.NET 4.0
Caching Enhancement in ASP.NET 4.0
 
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisBuilding a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
 
CFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful CodeCFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful Code
 
ActiveMQ Performance Tuning
ActiveMQ Performance TuningActiveMQ Performance Tuning
ActiveMQ Performance Tuning
 
Aspnet Caching
Aspnet CachingAspnet Caching
Aspnet Caching
 
Accelerating virtualized Oracle 12c performance with vSphere 5.5 advanced fea...
Accelerating virtualized Oracle 12c performance with vSphere 5.5 advanced fea...Accelerating virtualized Oracle 12c performance with vSphere 5.5 advanced fea...
Accelerating virtualized Oracle 12c performance with vSphere 5.5 advanced fea...
 

Viewers also liked

Aprendaacosturarporgilbrando 140616204638-phpapp01
Aprendaacosturarporgilbrando 140616204638-phpapp01Aprendaacosturarporgilbrando 140616204638-phpapp01
Aprendaacosturarporgilbrando 140616204638-phpapp01Denise Rodrigues
 
ACEP 2014 Pearls
ACEP 2014 PearlsACEP 2014 Pearls
ACEP 2014 Pearlsbcooper876
 
Analysis of three digi paks and advertisments
Analysis of three digi paks and advertisments Analysis of three digi paks and advertisments
Analysis of three digi paks and advertisments sanaaelhaouz
 
BDA SITE OWNERS IN BSK GET ALARM CALLS TO SELL OFF THEIR PROPERTY
BDA SITE OWNERS IN BSK GET ALARM CALLS TO SELL OFF THEIR PROPERTYBDA SITE OWNERS IN BSK GET ALARM CALLS TO SELL OFF THEIR PROPERTY
BDA SITE OWNERS IN BSK GET ALARM CALLS TO SELL OFF THEIR PROPERTYBangalore Generalnews
 
3.3. construccion de un parrafo
3.3. construccion de un parrafo3.3. construccion de un parrafo
3.3. construccion de un parrafoycav95
 
Tratamiento de aguas
Tratamiento de aguasTratamiento de aguas
Tratamiento de aguasNini Moyano
 
tecnologia touch
tecnologia touchtecnologia touch
tecnologia touchJh0nx
 
Divulgação de Resultados 1T13
Divulgação de Resultados 1T13Divulgação de Resultados 1T13
Divulgação de Resultados 1T13Multiplus
 

Viewers also liked (14)

Aprendaacosturarporgilbrando 140616204638-phpapp01
Aprendaacosturarporgilbrando 140616204638-phpapp01Aprendaacosturarporgilbrando 140616204638-phpapp01
Aprendaacosturarporgilbrando 140616204638-phpapp01
 
Tutorialclonehdg01
Tutorialclonehdg01Tutorialclonehdg01
Tutorialclonehdg01
 
Jay
JayJay
Jay
 
ACEP 2014 Pearls
ACEP 2014 PearlsACEP 2014 Pearls
ACEP 2014 Pearls
 
Conceptos sexenio
Conceptos sexenioConceptos sexenio
Conceptos sexenio
 
Analysis of three digi paks and advertisments
Analysis of three digi paks and advertisments Analysis of three digi paks and advertisments
Analysis of three digi paks and advertisments
 
BDA SITE OWNERS IN BSK GET ALARM CALLS TO SELL OFF THEIR PROPERTY
BDA SITE OWNERS IN BSK GET ALARM CALLS TO SELL OFF THEIR PROPERTYBDA SITE OWNERS IN BSK GET ALARM CALLS TO SELL OFF THEIR PROPERTY
BDA SITE OWNERS IN BSK GET ALARM CALLS TO SELL OFF THEIR PROPERTY
 
Curso de c
Curso de cCurso de c
Curso de c
 
Violencia en el aula
Violencia en el aulaViolencia en el aula
Violencia en el aula
 
3.3. construccion de un parrafo
3.3. construccion de un parrafo3.3. construccion de un parrafo
3.3. construccion de un parrafo
 
Tratamiento de aguas
Tratamiento de aguasTratamiento de aguas
Tratamiento de aguas
 
tecnologia touch
tecnologia touchtecnologia touch
tecnologia touch
 
Divulgação de Resultados 1T13
Divulgação de Resultados 1T13Divulgação de Resultados 1T13
Divulgação de Resultados 1T13
 
Convite
ConviteConvite
Convite
 

Similar to D2S1T2N4_saurabh

StorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoStorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoAlluxio, Inc.
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSharon James
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the BasicsUlrich Krause
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...Amazon Web Services
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUlrich Krause
 
Practical solutions for connections administrators
Practical solutions for connections administratorsPractical solutions for connections administrators
Practical solutions for connections administratorsSharon James
 
PowerShellForDBDevelopers
PowerShellForDBDevelopersPowerShellForDBDevelopers
PowerShellForDBDevelopersBryan Cafferky
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performanceAbhishek Sur
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Anupam Ranku
 
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...panagenda
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
Content server installation guide
Content server installation guideContent server installation guide
Content server installation guideNaveed Bashir
 
Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1asim78
 
APEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdfAPEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdfRichard Martens
 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101Angus Li
 

Similar to D2S1T2N4_saurabh (20)

StorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoStorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administrators
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
Practical solutions for connections administrators
Practical solutions for connections administratorsPractical solutions for connections administrators
Practical solutions for connections administrators
 
Introduction to asp
Introduction to aspIntroduction to asp
Introduction to asp
 
Apache servicemix1
Apache servicemix1Apache servicemix1
Apache servicemix1
 
PowerShellForDBDevelopers
PowerShellForDBDevelopersPowerShellForDBDevelopers
PowerShellForDBDevelopers
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performance
 
Servicemix4.5.0
Servicemix4.5.0Servicemix4.5.0
Servicemix4.5.0
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Content server installation guide
Content server installation guideContent server installation guide
Content server installation guide
 
Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1
 
APEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdfAPEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdf
 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101
 
Asp introduction
Asp introductionAsp introduction
Asp introduction
 

D2S1T2N4_saurabh

  • 1. Copyright © 2013 Quintiles Customizing Project Specific SAS Session Saurabh Patel All opinions expressed in this presentation are the author’s personal views, and may not reflect the opinions or views of Quintiles.
  • 2. 2 We will see…. • What is it? • Why it's needed? • How to overcome limitations? • How it's useful? • How to implement? • Benefits
  • 3. 3 What is it? • Build a Dynamic user friendly project specific SAS session with just one double click. • Which allows users to Optimum use of system options and Direct access to project specific documents from SAS window itself instead of windows explorer.
  • 5. 5 Regular process to initialize project specific SAS session First create SAS session Then run particular project specific setup or autoexec file Ready to work Project specific SAS Session 1 2 Final • Two Step (Open and Run) TIME consuming process • Always need to run first autoexec.sas or setup.sas file to initialize library and import catalog. Limitations of Regular process
  • 6. 6 Unable to modify the default Text "SAS" of AWS title bar after startup of SAS . • AWS title bar will be helpful to distinguish between multiple project SAS sessions. Limitations of Regular process
  • 7. 7 Unable to change initial location as project location for Open and Save As dialog after SAS startup. • Need to update SAS initial folder location manually for each new session. Limitations of Regular process
  • 8. 8 Receiving Warning and Note while opening multiple SAS sessions or parallel executing batch submit. Limitations of Regular process
  • 9. 9 How to overcome these limitations?
  • 10. 10 • The SAS configuration file contains only SAS system options that are used to establish SAS session. • Differences between Configuration and Autoexec Files • Configuration file can contain only SAS system options settings, while autoexec files can contain any valid SAS statement. • Configuration files are processed before SAS initializes, while autoexec files are processed immediately after SAS initializes. • User can edit the default configuration file to add or to change the system option settings, or can create own project specific configuration file. • Then user can specify own project specific configuration file to act as the configuration file, thus overriding the default SASV9.CFG file. SASV9.CFG
  • 11. 11 SASV9.CFG • For, The English language, the default configuration SASV9.CFG file is stored in "SASFoundation9.2nlsensasv9.cfg".
  • 12. 12 Examples of useful SAS system options How it's useful?
  • 13. 13 AWSTITLE • Syntax -AWSTITLE "title-text" > "Title-text" specifies the text that appears in the title bar of the main SAS window. > The text must be enclosed in either single or double quotation marks. -awstitle "ConSPIC 2013"
  • 14. 14 AUTOEXEC • Syntax -AUTOEXEC "file-specification" > specifies the SAS autoexec filename with path to initialize library and import catalog. -autoexec "C:usersdesktopConSPIC 2013setup.sas"
  • 15. 15 SPLASH and SPLASHLOC • Syntax -SPLASH | -NOSPLASH > Specifies whether to display the splash screen (logo screen) when SAS starts. • -SPLASHLOC DLL-name <res-number> | BMP-filename > Specifies the location of the splash screen bitmap that appears when SAS starts. -SPLASHLOC "C:usersdesktopConSPIC 2013ConSPIC.bmp"
  • 16. 16 SASINITIALFOLDER • Syntax -SASINITIALFOLDER "path of location" > specifies the path of the project folder as the default folder for the Open and Save As dialog boxes. > If path contains spaces, it must be enclosed in quotation mark. -SASINITIALFOLDER "C:UsersDesktopConSPIC 2013"
  • 17. 17 RSASUSER • Syntax -RSASUSER| -NORSASUSER > RSASUSER limits access to the Sasuser data library to read-only access. • So, By defining RSASUSER, User can avoid these note and warnings while opening multiple SAS Sessions and parallel executing batch mode.
  • 18. 18 REGISTER • Adds an application to the Tools menu in the main SAS window. • If file path contains space then put path in single inverted quotation and add double quotation with one space as prefix and suffix. -register "SAP" " 'C:UsersDesktopConSPICsap v1sap.docx' " -register "Mock Shell" " 'C:UsersDesktopConSPICshellmock shell.rtf' " -register "Protocol" " 'C:UsersDesktopConSPICprotocolprotocol.pdf' "
  • 19. 19 Combine all these options to append default SASV9.CFG and Create a New Project specific ConSPIC2013.CFG file
  • 20. 20 How to implement Dynamic process with project specific SASV9.CFG?
  • 21. 21 Dynamic process to initialize project specific SAS session 1 Just execute (double-click) Project Specific Shortcut File Ready to work Project specific SAS Session Final Windows Shortcuts • Shortcuts are one of the handiest features on the Windows operating system. • The shortcuts can be kept on the desktop or inside a special folder. • Double-clicking the icon makes it very convenient to activate the application without keeping track of the application’s actual location.
  • 22. 22 1. Make a copy from the existing SAS shortcut on the desktop. 2. Right-click on the desktop and click New on the context menu, and then select Shortcut on the extended submenu. Click the Browse button to find the sas.exe file in the !SASROOT directory. 3. Using Shell Scripting or Windows Scrip Host. A SAS shortcut can be created in a number of different ways:
  • 23. 23 It is very convenient to open multiple project specific SAS Sessions from location. But sometimes it will lead to major human error like transfer of one project code to other project. How to restrict only one project specific SAS Session at a time?
  • 24. 24 VB Script Shortcut • VBScript has been pre-installed in every Windows OS since Windows 98 • It is very simple to create. Create New Notepad file and put below code in text file and SAVE AS file with .vbs file extension. Set WshShell = WScript.CreateObject ("WScript.Shell") Set colProcessList = GetObject("Winmgmts:").ExecQuery ("Select * from Win32_Process") For Each objProcess in colProcessList If objProcess.name = "sas.exe" then vFound = True End if Next Select case vFound case True WshShell.Run("taskkill /im sas.exe /t") case else WshShell.Run("D:sassas.exe -config 'C:UsersDesktopConSPIC 2013ConSPIC2013.CFG' ") End Select It will check whether any SAS Session open or Not? IF True, Then it will ask to Close first Session Else, It will initialize Project Specific SAS Session
  • 25. 25 Benefits • Dynamic process(single step process) is helpful to save time. • Just one time creation of customize project specific config file like autoexec file is helpful to optimum use of SAS system options. • Direct Access to project specific documents from SAS window, is very convenient and user-friendly. • Specifying latest working version of documents(like SAP, Mock Shell) in Tools Menu bar is reducing ambiguity regarding project specific documents. • Prevent major human error by allowing only One Project Specific SAS Session at a time.
  • 26. 26 References • Cheng, Wei (2003). “Build a SAS Development Environment under Windows,” Proceedings of the 28th annual SAS Users Group Conference http://www2.sas.com/proceedings/forum2007/063-2007.pdf • Crawford, Peter (2007) “Easy SAS Session Customization,” Proceedings of the 27th annual SAS Users Group Conference http://www2.sas.com/proceedings/forum2007/051-2007.pdf • Hurley, George J. (2007). “Customizing Your SAS Initialization,” Proceedings of the 27th annual SAS Users Group Conference http://www2.sas.com/proceedings/forum2007/063-2007.pdf • Thatcher, Clark (2010). “Make Your SAS Code Environmentally Aware,” Proceedings of SAS Global Forum 2010 http://support.sas.com/resources/papers/proceedings10/090-2010.pdf
  • 27. 27