TagSAS

SAS Environment Manager Server Does Not Start on AIX

ISAS began installing SAS Enterprise Business Intelligence (EBI) 9.4 Maintenance Release 3 software on AIX 7.1 LPARs this summer. These were development environments which were single-machine deployments. The installation and configuration phases were straightforward, and when completed, the deployment was up and running and validated perfectly. I then shut down all of the SAS services using the sas.servers script which is created at the end of the configuration phase. I then used the script to start all of the services, and SAS reported everything was up and running, so I performed another round of validation. When I opened up a browser and supplied the URL of the Environment Manager, the browser reported that there was not an application running on that server and port. I stopped and started the SAS services many times with the sas.servers script to make sure the problem was consistently occurring, which it was.

I then opened up PuTTy and went straight to the <sasconfig>Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/bin/hq-server.sh script and executed a shutdown, only to be told that the Environment Manager server wasn’t running. So I then used the same script to start the server, and I went back to my browser and I was able to log into the application to validate.

Just out of curiosity, I contacted SAS Technical Support and asked them why this happened. The Tech Support Analyst told me that I was probably experiencing a known defect in the hq-server.sh script on AIX. The problem is that if you issue the hq-server.sh script from outside the <sasconfig>Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/bin directory, which is what is happening when we use the sas.servers script, then we will see a “../lib not found” error in the log.

To prevent this from happening, the hq-server.sh script needs to be modified in two places, replacing the relative path to an absolute path to the lib directory. So to fix the problem, edit the <sasconfig>Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/bin/hq-server.sh script and change the following:

From:

INPUT=`ls -m ../lib`
for i in $INPUT
do
   if [ -f "../lib/${i}" ]; then

To:

INPUT=`ls –m <sasconfig>/Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/lib`
for i in $INPUT
do
   if [ -f "<sasconfig>/Lev1/Web/SASEnvironmentManager/server-5.8.0-EE/lib/${i}" ]; then

where <sasconfig> is the fully qualified path to configuration directory.

With the absolute path provided, SAS knows where the appropriate binaries are located to start up the Environment Manager!

Oddly, this seems to be an AIX thing, because I have a few Red Hat Linux environments running SAS Visual Analytics and the Environment Manager, and never saw this issue.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Make the SAS Add-In for Microsoft Office Available in Office 2016

I recently wiped the disk on my primary PC and installed fresh copies of Microsoft Windows 10 Professional, Microsoft Office 2016, and the SAS Add-In for Microsoft Office 7.11 (using the standalone installer). I then fired up Microsoft Excel and noticed that the SAS menu item was not available:
2016-02-06_7-50-57

The missing menu didn’t alarm me  – many times in the past Microsoft Office “disabled” the Add-In and I merely had to re-enable it to get my SAS menu back. In this case, however, it wasn’t even included in the Disabled Application Add-Ins in the Excel options:
2016-02-06_7-49-28

I contacted SAS Technical Support, and they provided a workaround for SAS Add-In for Microsoft Office 7.11 users. The fix is very simple and takes care of the issue. Administrator privileges are required for all of the steps.

  1. Install 7.1 or 7.11 of the Add-In
  2. Rename or remove the old switcher utility file (generally located at C:\Program Files (x86)\SASHome\x86\SASAddinforMicrosoftOffice\7.1\SwitcherUtility.exe)
  3. Obtain the new 7.12 switcher utility and copy it to the location from Step 2
    SAS SwitcherUtility 7.12 - v.7.12 - 105.5 kB
  4. Run switcherutility.exe resetall from the command prompt
    2016-02-06_8-27-59
  5. Start up Microsoft Excel and The Add-In is now available to you! You will probably be prompted to install a Hot Fix as well.
    2016-02-06_8-30-58
Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Errors When Using Page X of Y in SAS ODS pdf Statements

SAS ODSI ran across a familiar error this week, so I figured I might as well finally document it on this blog. My organization primarily uses Lexmark printers, and print drivers are included in the standard PC image. Apparently the drivers installed on the standard image are not considered “valid printer drivers” by SAS, because we generate errors in our PC SAS 9.3 logs when we attempt to create a .pdf file using the SAS ODS pdf destination. For example, if my colleagues submit a statement such as:

ods escapechar = '^';
ods pdf file="output.pdf"; 
proc print data=sashelp.class(obs=5); 
footnote j=r 'page ^{thispage} of ^{lastpage}';
run; 
ods pdf close;

Errors will be generated:

ERROR: There is no currently selected printer driver.  Use Print Setup to select an installed printer driver.

ERROR: Internal error trying to set up “page i of n” processing.  Could be caused by out of memory, out of disk space, or internal coding error. Check for other error messages above indicating probable user error or resource constraints; if there are none, or if they make no sense, please report this message and provide a test program to SAS Institute. Output will continue without PAGEOF support.

A colleague had a newly refreshed PC, so I installed PC SAS and all of the EBI developer tools for him. I did not perform any customization to his SAS environment; I each developer is different so I let them tweak their own settings. It appears that I will need to begin to at least edit the sasv9.cfg file for all new developer SAS installations to include the following to prevent the errors:

-uprint
-uprintmenuswitch

In our case the sasv9.cfg file is located at
C:\Program Files\SASHome\x86\SASFoundation\9.3\nls\en\sasv9.cfg. The options we have to add turn on Universal Printing. What is that? Here is how SAS describes it:

What Is Universal Printing?

Universal Printing is a printing system that provides both interactive and batch printing capabilities to SAS applications and procedures on all operating environments that are supported by SAS. Universal Printing enables you to define printers and print previewers, and to control most printing options as your output is created. In addition to sending output to a printer, you can print to external files.

Windows Specifics: By default, the Windows operating environment uses Windows printing and not Universal Printing. For more information about using Universal Printing under Windows, see Setting Up the Universal Printing Interface and the Default Printing Environment.

SAS routes all printing through Universal Printing services. All Universal Printing features are controlled by system options, thereby enabling you to control many print features, even in batch mode. For more information about these system options, see System Options That Control Universal Printing.

Note: Before the introduction of Universal Printing, SAS supported a utility for print jobs known as Forms. Forms printing is still available if you select Filethen selectPrint Setup from the menu, then check the Use Forms check box. This turns off Universal Printing menus and functionality. For more information, see Forms Printing.

Setting Up the Universal Printing Interface and the Default Printing Environment

Universal Printing is enabled when SAS starts in the UNIX or z/OS operating environment. Under Windows, Windows printing is enabled when SAS starts. To use Universal Printing in Windows, you must set the UNIVERSALPRINT system option to enable the Universal Printing menus and dialog boxes, and to set up the printing defaults. This option can be set only in a SAS configuration file or at start-up. You cannot enable or disable Universal Printing menus and dialog boxes after SAS starts.

Windows Specifics: In the Windows operating environment, include the following system option when you start SAS:

-uprint

UPRINT is an alias for the UNIVERSALPRINT system option.

Note: When you use the PRINTERPATH= system option to specify a printer, the print job is controlled by Universal Printing. To return to Windows printing, set the PRINTERPATH= system option to a null string: PRINTERPATH=”.

We never saw these errors when developing in the Solaris or AIX environment because Universal Printing is turned on by default in those environments.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

PC SAS 9.4 on Windows 10

SAS logo pms 285S mark black SAS JPEGI have been playing with the Windows 10 Technical Preview 2 for a couple of months now. It is installed on both my Surface Pro 3 tablet and on a desktop PC. Things have been very smooth and I have nothing but positive things to say about it. I can’t wait for the RTM version!

I installed PC SAS 9.4 on one of the Win10 computers to see if the two played nicely together. In the past couple of days of testing, I haven’t run into a single issue. Performance is outstanding, and I have not yet seen any signs of incompatibility, maybe because SAS thinks it is running on Windows 8 (see screen shots below)! Also, check out the “This PC” icon in the Explorer window. Microsoft is catching a lot of heat for the new icons introduced in Win10.

PC SAS on Windows 10 - editor

PC SAS on Windows 10 - proc reg

PC SAS on Windows 10

I’m going to continue to play with PC SAS 9.4 and Enterprise Guide 6.1 as well. I’ll keep you posted.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Fixing a “Java failed to start during the SAS startup” Error in PC SAS

SASI have many different types of software installed on my PC, and Java is required by the majority of them. This shouldn’t be a problem, but unfortunately each of those applications require different Java versions. Again, this shouldn’t be a problem either, but applications respond differently to the presence of newer (or older) versions that they expect.

After installing and uninstalling various versions of Java while troubleshooting, I started PC SAS 9.3 to work on a project. The first three lines were errors:

Java proxy error

A search of support.sas.com quickly provided an answer in Installation Note 44853. When I installed SAS on my PC, I chose to use an existing version of Java, which was Java 6 Update 26, the organization standard. In subsequent months I installed Version 7 Update 7 and Version 8 Update 25. I intentionally removed Version 6 Update 26 because I knew that my SAS products were compatible with the newer versions. I also wanted to prevent conflicts with other Java-dependent applications on my PC. So much for organization standards.

I submitted proc options option=jreoptions; run; in SAS, and the log showed what I was pointing to Java 6 Update 26 like I expected:

Java version and location

To fix this problem I needed to edit my sasv9.cfg file located at
C:\Program Files\SASHome\x86\SASFoundation\9.3\nls\en\sasv9.cfg. I just needed to change the -Dsas.jre.libjvm line to point to my current version of Java (8 Update 25):sasv9.cfg

There is one more configuration file in the SAS deployment that had to be updated as well. It is the sassw.config in the C:\Program Files\SASHome directory. The JREHOME option needed to point to the new version of Java: C:\Program Files (x86)\Java\jre1.8.0_25\bin\java.exe:

sassw.config

With those changes made to two SAS configuration files, I successfully launched PC SAS without errors:

Launch PC SAS

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Fix for a [SanitizingRequestFilter] error in the SAS Information Delivery Portal

saslogo.gifI recently deployed the SAS Enterprise Business Intelligence Server on a brand-new AIX LPAR.  During my validation of the platform, I created a new stored process portlet and added it to my home page.  My test portlet then displayed the following error:

Error 500: javax.servlet.ServletException: Filter [SanitizingRequestFilter]: could not be initialized.

Here’s how it looked in the portlet:

9-24-2014 6.43.16 AM

I searched for the error at support.sas.com and found a Problem Note about an error very similar to mine.  This error can arise when SAS BI portlets (the stored process portlet is one of these) are deployed to a WebSphere application server.  During the configuration phase of my deployment, I specified that SAS should automatically deploy the web applications to WebSphere.  Configuration did complete successfully, creating two WebSphere profiles and an application server (SASServer1), and deploying all of the web applications.  An important file for the SAS BI portlets (sas.portlet.container.runtime.extensions.jar) did not get copied to WebSphere, however, and required manual intervention.

The fix is easy enough:

  1. Stop the SASServer1 application server
  2. Using the SAS installer account, copy the sas.portlet.container.runtime.extensions.jar file from the [SASCONFIG-DIR]/Lev1/Web/Staging/Exploded/sas.biportlets4.X.ear/lib directory to the [WEBSPHERE-HOME]/lib directory of the IBM WebSphere Application Server
  3. Start SASServer1

I logged back in to the Information Delivery Portal and my stored process portlet was happy and ready for a stored process:
A happy stored process portlet
Here are a couple of notes from the Problem Note:

  • These manual steps are required because of a limitation in the WebSphere application server
  • In UNIX operating environments, the JAR file must be copied using the same account that is used to install the WebSphere application server

SAS also provided a more time consuming fix which fixes the issue in the Problem Note if someone preferred to use the WebSphere Integrated Solutions Console.

I have run into this issue in versions 7.0.0.15, 8.5.0.2, and 8.5.5.3 of WebSphere.  I am running SAS EBI 9.3 Maintenance Release 2 with BI portlets 4.3.  I would also like to note that the steps I listed above were also included in the Instructions.html document located at [SASCONFIG-DIR]/Lev1/Documents directory in my environment.  It is created after a successful installation and configuration of the EBI environment.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

SAS Framework Data Server

SASComparing my SAS 9.2 and 9.3 Enterprise Business Intelligence (EBI) environments, a notable difference between daemons started by the sas.servers script was identified.  In 9.2, we had a SAS Table Server daemon.  It was not available in our 9.1.3 EBI installation, and was released in the 9.2 version.  Apparently SAS removed it from the 9.3 architecture, but a new daemon, the SAS Framework Data Server, was introduced in its place.  There is scant documentation available on support.sas.com about utilizing or administering the Framework Data Server.

What is SAS Table Server?

from the SAS 9.2 Table Server Administrator’s Guide

The SAS Table Server is a data server that provides scalable, threaded, multi-user, and standards-based data access technology in order to process and seamlessly integrate data from multiple data sources. The server acts as a hub that provides clients with data by accessing, managing, and sharing SAS data as well as several third-party relational databases.

What is SAS Framework Data Server?

from the SAS 9.3 Intelligence Platform Middle-Tier Administration Guide

The SAS Framework Data Server is a database server that is the default location for middle-tier data such as alerts, comments, and workflows, as well as data for the SAS Content Server and SAS Service Parts Optimization. The server is provided as an alternative to using a third-party DBMS. The server cannot be used as a general-purpose data store.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

SAS ODS: {thispage} and {lastpage} and PDF Output

saslogo

When developing new reports, we typically give the end users a choice of output formats to choose from.  The SAS Output Delivery System (ODS) provides a versatile framework to transform the results of SAS procedures into consistent, high quality reports in formats that are widely used by information consumers: HTML (HyperText Markup Language), PDF (Portable Document Format), RTF (Rich Text Format), Microsoft Excel, and others.  The majority of our reports (run as stored processes surfaced in the SAS Information Delivery Portal) contain tabular output, which is generally displayed to a user in HTML format with the option to download that data as a Microsoft Excel spreadsheet.

Some reports are designed to be formatted as a document, and include large amounts of ODS text, tables, and graphs.  We generally use ODS functions such as {thispage}, {pageof}, or {lastpage} to display the page number or number of pages in the document.  When using RTF as our ODS destination, the creation of a Microsoft Word document could not be easier.  We did run into one issue when using the PDF output destination, however.  Due to the configuration of printer drivers on our computer systems, the page numbers were not showing up in our documents, because SAS was unable to determine a default page size and margins.  We contacted SAS Technical Support and they pointed us to SAS Problem Note 31703 as a possible fix.  Tech Support solved our problem – we added the –uprint and –uprintmenuswitch options to our autoexec.sas configuration file and restarted our object spawners and our PDF documents included page numbers!

Want to know more about the SAS Output Delivery System?  Go to the Base SAS ODS Focus Area or download the Output Delivery System Tip Sheet.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Locating the Log Files for the SAS 9.3 Middle Tier

SASI have been doing some maintenance recently on one of our SAS EBI installations and needed to review the logs generated by the middle tier.  At some point any BI administrator will have to do this, so here are the default locations, directly from SAS:

The log files for the SAS 9.3 middle tier are located in the following directories:

Application Servers

Red Hat JBoss

  • /JBoss-home-directory/server/SAS-JBoss-server/log/server.log
  • /JBoss-home-directory/server/SAS-JBoss-server/log/boot.log

Oracle WebLogic

  • If WebLogic is started as a service, a UNIX daemon, or a batch process, the location is
    /WebLogic-home-directory/user_projects/domains/domain/servers/managed-server/logs/server.log.
  • If WebLogic is started using the Node Manager, the location is
    /WebLogic-home-directory/user_projects/domains/domain/servers/managed-server/logs/server.out.

IBM WebSphere

  • /WebSphere-home-directory/AppServer/logs/server/SystemOut.log
  • /WebSphere-home-directory/AppServer/logs/server/SystemErr.log

WebDAV Server

  • SAS Content Server:
    /SAS-configuration-directory;/Lev1/Web/Logs/SASContentServer9.3.log

SAS Web Applications

  • SAS Admin:
    /SAS-configuration-directory/Lev1/Web/Logs/SASAdmin9.3.log
  • SAS BI Dashboard:
    /SAS-configuration-directory/Lev1/Web/Logs/SASBIDashboard4.3.log
    /SAS-configuration-directory/Lev1/Web/Logs/SASBIDashboardEventGen4.3.log
  • SAS BI Portlets:
    /SAS-configuration-directory/Lev1/Web/Logs/SASBIPortlets4.3.log
    /SAS-configuration-directory/Lev1/Web/Logs/SASJSR18RemotePortlets4.3.log
  • SAS BI Web Services:
    /SAS-configuration-directory/Lev1/Web/Logs/SASBIWebServicesforJava9.3.log
  • SAS Information Delivery Portal:
    /SAS-configuration-directory/Lev1/Web/Logs/SASPortal4.3.log
  • SAS Logon Manager:
    /SAS-configuration-directory/Lev1/Web/Logs/SASLogon9.3.log
  • SAS Package Viewer:
    /SAS-configuration-directory/Lev1/Web/Logs/SASPackageViewer4.3.log
  • SAS Preferences:
    /SAS-configuration-directory/Lev1/Web/Logs/SASPreferences9.3.log
  • SAS Remote Services:
    /SAS-configuration-directory/Lev1/Web/Logs/RemoteServices.log
  • SAS Shared Apps:
    /SAS-configuration-directory/Lev1/Web/Logs/SASSharedApps9.3.log
  • SAS Stored Processes Web Application:
    /SAS-configuration-directory/Lev1/Web/Logs/SASStoredProcess9.3.log
  • SAS Web Report Studio:
    /SAS-configuration-directory/Lev1/Web/Logs/SASWebReportStudio4.3.log
    Note: Beginning with the second maintenance release for SAS 9.3 (TS1M2), the log is named SASWebReportStudio.log
  • SAS Web Infrastructure Platform Client Access:
    /SAS-configuration-directory/Lev1/Web/Logs/SASWIPClientAccess9.3.log
  • SAS Web Infrastructure Platform Services:
    /SAS-configuration-directory/Lev1/Web/Logs/SASWIPServices9.3.log
  • SAS Web Infrastructure Platform SOAP Services:
    /SAS-configuration-directory/Lev1/Web/Logs/SASWIPSoapServices9.3.log
  • SAS Workflow Services:
    /SAS-configuration-directory/Lev1/Web/Logs/SASWorkflowServices9.3.log

In my case, I was looking for my Websphere application server logs.  And as I should have suspected, my System Admin did not have the application servers or the log directories installed in the typical locations, so I had to do a little hunting.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

Disable the Option to Store Credentials in SAS Enterprise Guide Profiles

from SAS® 9.2 Intelligence Platform Desktop Application Administration Guide at support.sas.com:

When you create a connection profile, the Connection Profile Wizard provides, by default, a check box named Save user ID and password in this profile. If a user selects this check box, then the user’s ID and password are stored in the user’s connection profile on the local file system. Saving the ID and password in the profile allows users to reconnect in the future without entering these values again.

Follow these steps to remove the Save user ID and password in this profile check box from the Connection Profile Wizard and require the manual entry of credentials:

  1. On the host of the SAS Metadata Server, open in a text editor the file omaconfig.xml.
  2. Change the value of the option SASSEC_LOCAL_PW_SAVE from 1 (or Y or T) to 0 (or N or F).
  3. Save and close the file.
  4. Restart the SAS Metadata Server as directed in the SAS Intelligence Platform: System Administration Guide.

After you change the setting for this option and restart the metadata server, each client uses the previous setting for its first connection. The client then discovers the revised setting and conforms to that revised setting for subsequent connections.

If you change the setting to disallow saved credentials, and credentials are already present in a user’s connection profile, those credentials must be manually removed.

Email this to someoneTweet about this on TwitterShare on LinkedInPin on PinterestShare on Google+Share on FacebookPrint this page

© 2017 Technoleros

Theme by Anders NorénUp ↑