iTips from illustro
Volume 0501-1 iTips - A Free Service from illustro May 5, 2009
Happy Tuesday, iTippers!

We hope all are having a productive and great week!  Remember you can always send us an email with ideas or tips you would like to see in a future iTips newsletter!

Enjoy this week's iTip and enjoy your week!

 


iManage™: We Manage. You Relax.


Budget dollars have never been more precious, but you still need to ensure your VM and VSE environments are up-to-date, problem-free and performing well.

With the iManage Sys services program, your organization pays a flat monthly rate for 100% of your systems management needs for your VM and/or VSE operating systems. This unique, "all-you-can-eat"  approach means you now have one, low-cost price to ensure your mainframe systems are up and running at their best. Whether its supporting your application or operations staff with daily problems, keeping your IBM and 3rd party software up to date, or conducting a disaster recovery test, it's all included.

We can help you get your job done--whether you turn over a time-intensive project like a VSE or VM migration or even Disaster Recovery planning to us, or you just need us as your backup, our staff with a wide range of expertise will make sure you get your systems work done without worry. 

The best part? illustro's staff is on duty on duty 24x7x365--no sick days, no holidays, no vacations -- and no surprises.

Find out more about iManage!

Interested in a quote? Fill out an inquiry.


This Week's iTip!

REXX Debugging Tips

VM provides a comprehensive scripting language called REXX. If you’re not familiar with it, read the REXX/VM User’s Guide which contains a very well-written tutorial for learning this powerful language. Still more information can be found in the REXX/VM Reference. Here are a few tips that will make your REXX code easier to maintain and debug.

Include these statements in your initialization code:

HT = "HT"                            

RT = word("HT RT",cmsflags(cmstype)+1)

This sets the variable RT to the current CMSTYPE value. Now if you want to suppress the output of a CMS command you can code

"SET CMSTYPE" HT                

"COMPARE THIS FILE A THAT FILE A"

SaveRC = rc                     

"SET CMSTYPE" RT                

if SaveRC <> 0 then ...         

This code suppresses any output from the COMPARE command and leaves the current value of CMSTYPE HT unchanged.

You probably know about the REXX trace statement. There’s also a trace function that’s quite useful when debugging. When you’ve completed debugging a section of code, surround it with trace calls:

TRSave = trace("OFF")

/* ...working code... */

call trace(TRSave)  

This disables any tracing around the working code, and then turns it back on to continue debugging.

It’s a good idea to familiarize yourself with the signal instruction. It allows you to trap and handle certain conditions, such as non-zero return codes from system commands or REXX syntax errors. It will also allow you to trap uninitialized variables. Consider this code:

signal on novalue                                                                                                    

/* code to be tested */                                     

                                                             

exit                                                        

                                                            

NoValue:                                                    

   parse source . . EXECfn EXECft EXECfm .                  

   VarName = Condition('D')                                 

   queue 'COMMAND :'SIGL                                    

   queue 'COMMAND EMSG Variable "'VarName'" is Uninitialized'

   address command 'XEDIT' EXECfn EXECft EXECfm             

   exit                                                      

When an uninitialized REXX variable is referenced, a branch is made to label novalue where we XEDIT the EXEC being run, navigate to the line in error, and display the name of the offending variable in an XEDIT error message. This same technique can be used for any other condition that signal can trap.

Do you have something to add to this tip? Add it to the VSEWiki page!


z/IPMon® - Now with New Advisor Facility!

Experience a Live VSE System Running z/IPMon Today!

 

Your wishes have been granted, TCP/IP users! z/IPMon, the only full function performance and problem manager for your critical VSE TCP/IP systems, can now tell you when something is wrong in your TCP/IP environment. The new z/IPMon Advisor feature takes the guesswork out of managing your VSE TCP/IP System. Advisor processes your Retrospect data according to a range of time you specify, and then will automatically suggest and set Alerts based on changes in your system. Using mathematically and statistically sound principles, Advisor will determine what type of change is significant enough to create an Alert. What this means is z/IPMon determines what is important automatically, watches your network performance and then TELLS you that you potentially have an issue, all without you having to do anything at all.

 

How can it get better, you ask?  Well, let us show you...

 

Release 2.0 of z/IPMon now ships with a complete Report Writer capability called z/IPUtil. You can select any of the fields of data that are captured and create a report with any of the fields, in any order, complete with subtotal and sorting abilities. Rather than create "canned" reports which may be too limiting, we gave you the ability to report on whatever you need, with simple, easy to understand "select"  type statements in the JCL.

 

Log On to a Live VSE System with z/IPMon to SEE What You've Been Missing!

 

View our Video Demo today to get a feel for how it works!

 

Download a FREE - yes, we said FREE - trial of z/IPMon

 

Understanding Your TCP/IP System - A White Paper

 

 

 


We Want to Hear From YOU!

Tell us what you want to know in iTips and give suggestions on topics - send an email to itipsfeedback@illustro.com

1950 Stemmons Frwy. • Suite 2016 • Dallas, TX 75207
Toll-free U.S. & Canada: 866.4.illustro(866.445.5878)
Phone: +1.214.800.8900 • Fax: +1.214.800.8989 • illustro.com • info @illustro.com