Category Archives: Support

WPS v3.2.2 Released

 

Earlier in the Week, World Programming released an update to WPS. Version 3.2.2 is mainly a maintenance release with a number of fixes.  There are some improvements and the two that caught my eye are:

25591: WPS can now handle record lengths up to, or even greater than 32K when writing to SAS7BDAT files.

25596: WPS on Linux now supports Sybase IQ 16.0 client drivers.

There are number of other fixes that are probably more important than the two I chose above (especially if you are on MVS).

You can upgrade your installation by going to the WPS Website and logging into the download servers (User ID and Password required.) You can also read a list of all the changes by clicking on the change log file on the right hand side of screen.

 

About the author: Phil Rack is President of MineQuest Business Analytics, LLC located in beautiful Tucson Arizona. Phil has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and is an authorized reseller of WPS in North America.

Post Installation Steps for WPS Workstations

We recently wrote a short technical document on a set of post installation steps that MineQuest Business Analytics recommends after you install WPS on your workstation. We are often asked what needs to be done after WPS is installed to get the greatest performance out of WPS without too much hassle.

The document walks you through modifying your WPS configuration file, moving your work folder to another drive, why you want to install R (for using PROC R of course!), creating an autoexec.sas file, turning out write caching and a few other pointers. You don’t need to to all of the suggestions, after all they are just suggestions, but they are useful modifications that will enable you to get more out of WPS on your workstation.

You can find the document “Post Installation Steps for WPS Workstations” in the Papers Section of the MineQuest website.

About the author: Phil Rack is President of MineQuest Business Analytics, LLC located in Grand Rapids, Michigan. Phil has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and is a authorized reseller of WPS in North America.

Newsletter

After kicking this idea around for a few years now, we’ve decide that we should have a newsletter for our customers, potential customers and organizations and individuals who are interested in WPS. It’s a lot more convenient to have a newsletter emailed so it’s sitting in your in-box on Tuesday morning than trying to remember to go visit a website to find out what is going on with a product.

We will keep it a monthly publications and we promise not to spam you with offers and notices on an almost daily basis. What we want to include in the newsletter is information on new features in the WPS product that may be of interest to you. We will also feature tools and tips on using WPS so that you can realize the full functionality of the software.

The first newsletter will be sent out on December 1st to existing customers and those who have had WPS evaluations through MineQuest. If you want to sign up for the newsletter, simply send us your name and email address to info@minequest.com and let us know you want to start receiving the newsletter. We promise not to sell give away your information to any third parties.

And finally, Happy Thanksgiving everyone!

 About the author: Phil Rack is President of MineQuest Business Analytics, LLC located in Grand Rapids, Michigan. Phil has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and is a authorized reseller of WPS in North America.

WPS 2.5.2 Released

I just wanted to post a quick note to let all the WPS users and license holders know that a new release of WPS is available for download for the World Programming Download Servers. The latest release includes support for PROC CLUSTER and database support for Netezza.

One great aspect of WPS is that so much is included in the basic product. You don’t pay thousands of dollars more for database support like you do with our competitors. Your organization saves thousands of dollars by using WPS instead of SAS and (as Martha Stewart would say) that is a good thing.

In this release there are numerous bug fixes so I highly recommend that you grab a copy of the latest release and install it.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

Handling Excel Tables using WPS on Linux

I thought I’d take a moment to make a quick announcement about the Bridge to R as it pertains to Linux. Currently, using WPS on Linux, one cannot read and write Excel files (either .xls or OOXML which is the .xlsx format) using the DBfiles engine. MineQuest has been working on a solution to this and the Bridge to R will support the reading and writing of these two file types and we will be rolling that out in about a week. We need to do a little more testing and write some documentation before we can release it.

So if you require the ability to create Excel Worksheets using WPS on Linux, the Bridge to R for Linux will soon provide support for that functionality.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and is a reseller of WPS in North America.

Batch Processing in WPS

As customers continue to push the envelope and run ever larger programs with WPS (and I’ve noticed some really large and long running programs out there) the desire to run WPS in batch mode is becoming more prevalent. Batch mode in Windows is pretty easy once you get the hang of it, and has many advantages too.

So why run WPS in batch? There are numerous reasons but just a few of them include being able to run jobs unattended, use of a batch scheduler or Windows Task Scheduler, and to limit the amount of resources used to execute a program by using the Priority and/or Affinity commands. WPS comes with some information on running from a command line (see the WPS Workbench Users Guide, pp 43 – Running Scripts) and some sample code that you can use to get started. What I want to show is a Windows Command file that you can use and modify to run your WPS programs in batch mode.

The command file, WPS.CMD allows you to run a WPS program by simply typing:

WPS myWPSpgm.sas

where :

WPS is the name of the command file, and myWPSPgm.sas is the name of the WPS program that you want to run.

This command file has a few advantages though. It tells you the start and stop time that the program was run and also lists out the DOS Return Code that tells you if the WPS program ran successfully or not.

clip_image002

 

There are seven return codes that are captured from WPS. The table below contains the code, the severity level and a short description.

Return Code

Severity Level

Description

0

Success

Job completed successfully

1

Warning

Job completed with warnings

2

Error

Job did not complete, programming error

3

Informational

User issued ABORT Statement encountered

4

Fatal

User issued ABORT RETURN encountered

5

Fatal

User issued ABORT ABEND encountered

6

Informational

WPS internal error

 

Below is the contents of the WPS.CMD file.

   1: @echo off

   2: CLS

   3: REM ======= Execute the WPS program with the filename extension ====

   4: REM Call as: WPS myjobname.sas

   5: REM Common command line parms: /Start /Low /B myjobname.sas

   6:  

   7: rem wpsloc is where the wpsi executable is located.

   8: set wpsloc=c:\Program Files (x86)\World Programming WPS 2

   9: set starttm=%time:~0,8%

  10:  

  11: echo WPS JOB - %~f1 execution initialized at: %starttm%...

  12:  

  13: "%wpsloc%\bin\wpsi.exe" "%~f1" >; "%~d1%~p1%~n1.log"

  14:  

  15: SET ERRORLEV=%ERRORLEVEL%

  16: set stoptm=%time:~0,8%

  17:  

  18: REM Report on the WPS Error Codes

  19: IF %ERRORLEV% == 0 echo WPS JOB %~f1 Completed Successfully. RC = %ERRORLEV%. Start Time: %starttm% End Time: %stoptm%

  20: IF %ERRORLEV% == 1 echo WPS JOB - %~f1 WARNING: Job Completed with Warnings. RC = %ERRORLEV%. Start Time: %starttm% End Time: %stoptm%

  21: IF %ERRORLEV% == 2 echo WPS JOB - %~f1 ERROR: Job Did NOT Complete. RC = %ERRORLEV%. Start Time: %starttm% End Time: %stoptm%

  22: IF %ERRORLEV% == 3 echo WPS JOB - %~f1 INFORMATIONAL: ABORT Statement. RC = %ERRORLEV%. Start Time: %starttm% End Time: %stoptm%

  23: IF %ERRORLEV% == 4 echo WPS JOB - %~f1 FATAL ERROR: ABORT RETURN Statement. RC = %ERRORLEV%. Start Time: %starttm% End Time: %stoptm%

  24: IF %ERRORLEV% == 5 echo WPS JOB - %~f1 FATAL ERROR: ABORT ABEND Statement. RC = %ERRORLEV%. Start Time: %starttm% End Time: %stoptm%

  25: IF %ERRORLEV% == 6 echo WPS JOB - %~f1 INFORMATIONAL: WPS Internal Error. RC = %ERRORLEV%. Start Time: %starttm% End Time: %stoptm%

  26:  

  27: rem

  28: rem ======================= END CMD File ====================

  29:  

 

You can simply “copy and paste” the code above but make sure that your lines don’t wrap when you paste it into your editor.  One thing to be aware of is that the location of the WPS system will probably be different for your installation if you are not running Vista 64. If you are running a 32 bit version of Vista or XP, you will probably have to change the location in line 8 from above to something like:

set wpsloc=c:\Program Files\World Programming WPS 2

Setting Priorities

At the beginning of this article, I mentioned running in batch is useful to conserve resources. You can run your WPS program in batch in LOW priority by executing the WPS command file like:

     Start /Low WPS myWPSpgm.sas

This will cause your program to run in the background (Low priority) allowing you to run other tasks without a lot of drag on your system. Other values that you might want to experiment with include:

    Start /Normal WPS myWPSpgm.sas 

    Start /High WPS myWPSpgm.sas

Finally, I’ve included a short WPS program that you can use to test for detecting different error levels and conditions. All you have to do is remove the asterisk to create the error that you want to examine and test how well the WPS.CMD file catches the error.

 

   1: /* Test program to demonstrate throwing return codes */

   2: /* running batch using WPS on Windows XP and Vista. */

   3:  

   4: data one;

   5:   do ii=1 to 500000;

   6:     a=rannor(0); b=ranuni(0); 

   7:     c=rannor(0); d=ranuni(0);

   8:     e=rannor(0); f=ranuni(0); 

   9:     g=rannor(0); h=ranuni(0);

  10:     i=rannor(0); j=ranuni(0);

  11:     output;

  12: 

  13: *  if ii = 200 then abort;        *--> Throw Fatal Error #3;

  14: *  if ii = 200 then abort return; *--> Throw Fatal Error #4;

  15: *  if ii = 200 then abort abend;  *--> Throw Fatal Error #5;

  16:  

  17:  end;

  18: run;

  19:  

  20: Proc corr data=one; 

  21: where ii < 500;

  22: run;

  23:  

  24: /* StdErr throws a warning #1 */

  25: *  proc means data=one n nmiss min max stderr ; 

  26: *  run;

  27:  

  28:  

  29: /* StdErr throws a warning #2 */

  30: *   proc means data=onex n nmiss min max ; 

  31: *   run;

In my opinion, this is the easiest way to run WPS jobs in batch. It provides some basic information and gives you the values of the return codes that can be useful for when using other job entry systems.

Update: I uploaded a zip file that contains the WPS.CMD batch program and the test1.sas program. You can downloaded it from by clicking here.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

WPS 2.3.5 is Available

The latest point release of WPS has been available for almost two weeks now. There are a few things that should be highlighted because they are new to this release.

First, Code Page Support is now available.  WPS 2.3 adds the addition of PROC TRANTAB and associate code page and collation order conversion features. This will be of interest to users in non-English-speaking countries.

Some new features added (this is taken from the WPS readme.txt file) that is particularly interesting include:

  • Support for GREPLAY statements DELETE, DEVICE, IGOUT, LIST
  • Support for Data Step functions PUTN, PUTC, INPUTN, INPUTC, MORT
  • Support for function FILEEXIST
  • Support for aliases FILE and NAME in proc PRINTTO
  • Added dummy print option to Proc FORMAT
  • New method of getting total EXCP count
  • Support for READBUFF option to all ODBC-based access engines
  • Workbench has new code page control on Preferences > Startup Options
  • Support for system option DB2READBUFF
  • Support for macro variable SYSMAXLONG
  • PROC APPEND supports ATTRIB, FORMAT, INFORMAT & LABEL statements
  • Support for ATTRIB processing to PROC DATASETS; MODIFY
  • Support for datastep functions SYSGET and ENVLEN
  • Support in PROC SQL for IS NOT MISSING
  • Support for system option MCOMPILE

Links: www.http://www.teamwpc.co.uk/products

 

Support for your WPS Software

This has been something that has been in the back of my mind for a few months and I want to toss it out for discussion. What are your expectations when it comes to product support for SAS or WPS? Also, think about it in terms of your actual experiences vs. what is nirvana.

My own experiences with needing SAS support have been pretty limited. Most of the time, when I have a programming issue, I use a circle of consultants that I work with or friends who are SAS programmers to get their input. My needs for support are rarely issues dealing with installation or performance, but often have to do with logic, design and programming. I think most SAS and WPS programmers fall into this category.

The last time I needed to call SAS Support was during an installation of Enterprise Miner. We had some hiccups during the installation and played phone tag with the EM guru for a few days to get the product installed. We did get the product installed but I’m here to tell you that the support we needed wasn’t available 24×7. We had one contact and he worked 8:00am to 5:00pm (actually good for him!).

Which brings us around to WPS and support. When I’m talking to sales prospects, I’m sometimes asked what kind of support is available. I tell them that if they license the product through my company MineQuest, I’m happy to take phone calls personally to try to answer questions and that much more detailed support from WPC is also available. When I ask them how often they’ve used SAS support in the last year to two, I often get a distant stare and an answer of, "I don’t know."

Also, support shouldn’t be limited to just asking questions on programming or installation. MineQuest offers consulting services to help you develop systems written in WPS and we offer numerous custom libraries that help us perform our consulting services in less time and with more accuracy.

So this is the bottom line and my personal experiences with support from WPS. When I’ve had a problem and it was a software issue, WPC has usually fixed the problem in a few days or a week and have offered me a download where the problem was rectified. I didn’t have to wait a year until the next major release to get my issue addressed. That has meant a lot to me. Further, I’ve talked to other WPS licensee holders and they’ve had similar experiences as well.

So if you are considering taking a license for WPS, feel comforted that there is good product support and your problem reports and issues are taken seriously.