From:
Bob Green, President
To: Users of Robelle Software
Re: News of the HP e3000 and Robelle, 2001 #3
If you haven't been visiting the Robelle web site, www.robelle.com, at least once a week, here is what you have been missing. Included are many of the stories posted to the web since the last What's Up DOC newsletter in March 2001.If you are reading a PDF or text version of this newsletter, remember that the headline of every story is actually a web link to the full story or more information. If you want to follow a link to get more information, go to the web home of the current newsletter:
http://www.robelle.com/library/newsletter/latest.html
The list of MPE presentations is interesting this year (see the HP World web site for papers by Alfredo Rego "23 Years of Gypsy Programming", Stan Sieler "Test and Tune Your Disk Drives", Mark Bixby "Perl Programming on MPE/iX", Rich Trap "Cool UNIX Utilities on MPE", ...). Robelle's Bob Green is presenting two of them: Building Better Software: User-Centric Techniques That Endure and Image Internals and Performance: a two-hour tutorial.
These news stories are now "syndicated" using RSS-XML and can easily appear on other web sites, as headlines with links to the full stories. The headlines in the box to the right are generated dynamically from the current stories on our home page.
Add the Robelle Daily e3000 Tips to your web site with a single line of Javascript (read the instructions) and they will automatically be updated whenever the Robelle home page changes!
For examples of how the Robelle headlines looks on people's web pages, visit
Use the number of the KB entry if you know it. Each entry in the Knowledge Base is assigned a unique number, such as 16488 for KB16488. If you know the number, you can go directly to the entry.
Not all KB entries are visible on the web site. Any entry that contains customer sensitive information is not posted to the web site. The internal Robelle Knowledge Base is used for many mundane transactions such as sending updates to customers who need a fix or enhancement; these are not posted to the web site.
How to Find My Submissions? You can't search by your name or your company name, since those are removed from the web KB entries for privacy. You will need to search by any words or phrases that appeared within your submission, or by the KB ref # if you know it.
How Frequently Is This Updated? The web version of the Knowledge Base is currently updated once per day at night. If you append a comment to an entry, it will first go to technical support, who will add it to the database. New entries are not automatically made public; it takes an explicit action by the technical staff.
Many thanks to Ken Robertson who wrote the 3000 software to convert the data from our IMAGE database into HTML, to Dave Lo who created the web Perl scripts, and to Paul Gobes and the rest of the staff for editing our archives to bring you these support calls.
I was surprised to see two companies which only recently entered the world of the e3000. I hope this shows the e3000 is still a viable direction for new and growing companies. I chatted with Karmin McKay, Channel Development Manager, and Scott O’Neill, Director of Marketing for Software Innovations (www.softinn.com). Software Innovations is a Norway-based company developing and supplying business software solutions. “The HP e3000 has been neglected,” said McKay. “We feel the HP e3000 is a solid system. We decided to port our products to the e3000 last fall.” Software Innovations is so committed to the e3000 that they have formed partnerships with both Hewlett-Packard and North American distributor Client Systems.
Here is one of the items from that first newsletter in 1980:
HP REVEALED SOME DETAILS OF MPE IV (TO BE RELEASED NEXT YEAR):
OVERLAPPED SEEKS, MULTIPLE DISC CONTROLLERS AND CHANNELS,
PERFORMANCE MONITORING TOOLS, ENHANCED DEBUG, SIGNIFICANT
PERFORMANCE IMPROVEMENT THROUGH BETTER DISC I/O AND THE
ABILITY TO SPREAD VIRTUAL MEMORY, INTERPROCESS COMMUNICATION, ETC.
We are used to the concept of system variables on MPE. On HP-UX we have a similar concept called environment variables. As the name implies, these variables describe your environment. Some typical MPE variables are HPPATH, HPACCOUNT, and HPGROUP.
Some very common environment variables on HP-UX are the PATH (same as HPPATH), TERM, and MANPATH variables. TERM, which describes your type of terminal, is checked by programs that use the Curses library, such as the vi editor. MANPATH is similar to PATH, but aids the "man" utility in searching for documentation pages.
These variables must be "export"-ed for any child process to reference them. Otherwise they are private to the current process. Environment variables can be inherited by a child process from its parent. The parent process, however, cannot reference variables created or changed by the child process once the parent process becomes active again. This is quite different from MPE and means that a child process cannot pass back results in a variable; the typical alternative is a file.
On MPE we reference a variable by preceding the name of the variable with an exclamation point. On HP-UX you precede the name of the variable with a dollar sign ($).
To read the rest of Neil's paper, download the PDF file. Remember, you will need a copy of Adobe Acrobat Viewer.
For another paper on the same topic, visit Shawn Gordon's web site.
To see how to generate a random filename from the Unix shell and then feed it into Suprtool, read full version of this story.
dave.lo@robelle.com
"Our programmers really like Qedit for Windows and feel it is a real time saver. We purchased Qedit for Windows two months ago and so far, my favorite features include:
Copy and paste with the click of a mouse. I don't have to remember any line-edit commands.
I hardly ever use DSCOPY anymore, since QEDIT for Windows allows me to copy a file from one account and save into another, even across machines.
With Qedit for Windows, I can easily transfer a file from my PC to the mainframe, or vice-versa. This also means I can email jobs, standard lists, etc, very easily.
QEDIT for Windows remembers the last 20 files I've opened. I can open one up again quite easily. (QEDIT on the mainframe only remembers the last file I've opened.)"
For example, the current location in a document is shown in the lower right corner of your Qedit window as a relative record number. That is, the first line is always 1, the second 2, then 3, 4, 5... . If you insert a line, the relative record number of all lines below that point is incremented by one automatically.
If the host is an MPE/iX server, then each line also has an embedded line number which is physically part of the line. The numbers allow for fractional parts, such as 50.1, to insert a line between lines 50 and 51. Qedit maintains these line numbers for you automatically when you insert text, renumbering small ranges of lines to make room when necessary. For most purposes you can forget that they exist.
However, if you are working from a host compiler listing for Pascal, Fortran, COBOL, or Splash, you may want to jump to a specific line number to make a source code change. In that case you use the Goto Line function (either Control-J or Mark|Goto from the menu):
Notice that you have two choices: Line Number or Record Number. To work from a host file listing, select Line Number and insert the number in the box (50.31). Qedit will find that embedded line number in you file and jump to it.
Note: the color background of the COBOL source highlights the text, comment and unusable portions of the lines. Qedit supports a different color scheme for each connection, making it easy to see which host you are editing. This is the Desert Morning color scheme, selected from the Options|Connections dialog box.
For more Qedit for Windows tips, visit the permanent bookmark of this article.
bob.green@robelle.com
SpaceMonger is a free tool for keeping track of the disk space on your computer. Instead of viewing your disk as unhelpful little icons or pie charts, you see a single picture that shows you at a glance how much space every file and folder are using.
Select any area with a folder title, then zoom in by double-clicking. SpaceMongerer highlights large files and allows deletions. Win2k users should see the readme file for sparse files, hard links, junction points and mount points.
paul.gobes@robelle.com
For more Windows tips, visit the permanent location of these articles.
Suprtool works with many different data sources, not only IMAGE. Suprtool has one primary purpose: to extract data into files. Suprtool's Dbedit utililty can be used for data entry and manipulation. While Suprtool is not as sophisticated a report writer as Query, it is widely used for ad-hoc reporting since it is so flexible and quick.
Below is a small portion of a comparison of features in Query versus Suprtool, created by Mike Shumko (see picture right) and Paul Gobes of Robelle. For over a hundred more features, visit the permanent location of this comparison chart.
Query=Q Suprtool=S
Q | S | Ability to list data to screen or printer |
Q | S | Normal IMAGE access speed |
S | Multi-record No-Buf high speed access | |
Q | S | Ability to link data from multiple datasets |
S | Ability to read non-IMAGE files | |
S | Ability to create non-IMAGE files | |
S | Ability to prepare data for other applications, platforms | |
S | Ability to redefine data items | |
S | String Handling: Uppercase/Lower/Trim/Concatenation | |
S | Listredo stack saveable as a Use file | |
Q | S | Ability to limit search to a set number (numrecs) |
S | Datehandling routines : relative dates ($today(+3), $date(*/*-3/*) | |
S | Datehandling routines : conversion to standard ccyymmdd format | |
S | Datehandling routines : conversion to astromomical 'Julian Date' day number | |
S | Datehandling routines : supports 28 different date types | |
S | Datehandling routines : supports Powerhouse, ASK, Oracle, SRN, EDS datetypes | |
S | Datehandling routines : arithmetic date manipulation | |
S | Ability to designate date format type | |
Q | S | Key retreival by B-trees and Third Party Indexing |
S | Ability to define Image subfields | |
S | Ability to define fields either by absolute or relative position | |
S | Ability to define new fields of various data formats for extraction | |
S | Ability to create an archive file while deleting dataset records |
paul.gobes@robelle.com and mike.shumko@robelle.com
Robelle's Nicky Gunther (nicky.gunther@robelle.com) noticed that Art was one of the frequent posters to the Robelle-L mailing list, responding to a great variety of Suprtool topics and questions. Art shared some of his Suprtool experiences with Nicky in a profile that you can read at the permanent bookmark.
>base sales.db,5,passwd >get d-invoices >if price * quantity <> amount >list standard device LP & > title "Price * Qty not = Amount" >xeqUse this tip for month-end jobs that prints exception reports.
Tip taken from the Robelle tutorial Ensuring Data Integrity With Suprtool (PDF Format).
This has probably been up before but I still have a problem which many of
you have encounterd before. We are about to migrate to another DB and some
fields contains characters like TAB and ESC. They are of course not accepted
by the receiver.
How can I clean my Image fields? Suprtool?
From: Thisted, Kristian
Kristian.Thisted@skanska.se
To read Paul Gobes reply, visit the permanent bookmark for this tip.
paul.gobes@robelle.com
Although the core of Suprtool has been highly optimized, there are still some things that you can do to make your selections execute faster. Suprtool's If command uses a technique called short circuit evaluation. Simply put, if a record does not qualify based on the first criteria, then Suprtool does not bother checking the second criteria. Let's say you have the following Suprtool task:
base mydb get order-details table mytable,order-no,file,orders if $lookup(mytable,order-no) and & order-status = "OP" output qualords,link xeq
Suprtool will do the lookup in the table to see if it has a qualifying order-no; if it does then it will go onto the next criteria and check the order-status. If the order-no does not exist in the table, then Suprtool will not bother checking the order-status; the If command will "short-circuit" and Suprtool will move on to the next record.
We can optimize this If command as follows:
if order-status = "OP" and & $lookup(mytable,order-no)This way Suprtool only has to do the table lookup for the orders with a status of "OP". Put the functions that have a $ in front of them at the end of your If command, with the exception of $read which is a command line feature only.
For a fuller discussion of the If command and more Suprtool tips, visit the permanent bookmark for this story by Neil Armstrong.
There are two basic things you need to know to accomplish this:
1) You can define ASCII numbers as DISPLAY and
2) You can create new fields with the DEFINE command.
Combining these two insights allows Suprtool to change the field storage attribute of a field from Ascii number to binary numeric. To find out how, visit the permanent bookmark for this article.
Hans.Hendriks@robelle.com
To read Hans Hendriks' reply, visit the permanent bookmark for this tip.
>base store.demo,5,reader >get d-sales {open a dataset} >sort product-no {define a sort key} >duplicate none keys & count total sales-qty sales-total >out salessum,link {Output to a link file} >xeqThese commands produce a file with a summary by product-no (because that is what we sorted by). The file will contain a count of the number of records for that product-no, and totals for the sales-qty and sales-total. The count field is called ST-COUNT and the totals have field names of ST-TOTAL-1 and ST-TOTAL-2, which are at the end of each record. And because it is a self-describing file you can easily pass it on to Suprlink or STExport or Suprtool for further processing. That's all there is to it.
ACCT CONTACT-NAME ADDRESS-TYPE 206J Fred Flintstone MAIN 206J Fred Flintstone INVOICE 206J Fred Flintstone TAPE 206K Freakazoid! MAIN 206K Freakazoid! INVOICE
We have three ADDRESS-TYPE records for Fred Flintstone and two for Freakazoid. It would improve the report readability tremendously if we could eliminate the redundant printing of Fred Flintstone and Freakazoid.
Robelle's Ken Robertson has a solution to this need. Read his full explanation at the permanent bookmark for this item.
Over the last few years I have read many fine (and not so fine) books, articles and columns on the C language. I have even read several that compared it to languages like PASCAL and SPL. What I have never seen, and have been waiting for, is one that showed how a COBOL programmer, such as myself, might find it easier to jump onto the C bandwagon. Finally I decided I was going to have to write it myself.
Read all about it at the permanent bookmark for this story.
/List "suprtool" (Upshift)If you wanted to select lines that contained different strings, you had to repeat the same commands using each string one by one. With the latest Qedit pre-release, a command can now have up to 10 strings. So, instead of doing:
/List "Suprtool" /List "Qedit" /List "Robelle"you can now do:
/List "Suprtool" or "Qedit" or "Robelle"Strings are separated by an OR keyword. Each string can have its own set of search options such as column range, caseless search, regular expression:
/List "Suprtool" (upshift) or "Qedit" (10/20)The complete list is saved as the previous list. This means it is used when the previous list construct, typically an empty string, is used in subsequent commands.
If you are interested in these features, please contact us
(email support@robelle.com) and we will be
glad to
provide the new 5.0.10 version of host Qedit. Of course, we are also interested in any
comment
you might have about these features or about Qedit in general.
To get around this problem, you can use Set HFS On in Qedit. Once enabled, Qedit automatically inserts a dot-slash prefix in front of file names, if they don't already have a prefix.
For more tips on using host-based Qedit with POSIX,
read the entire article by François Desrochers.
Click the link above for the rest of this informative article by one of the top usability experts.
It not only makes it easier to do an internet search, but it also has a highlight icon that makes it easy to find the keywords you are looking for. This feature works on any webpage, not just the ones you are searching. It's much easier to use than the standard Ctrl-F method.
Their web site is google.com and the toolbar is at toolbar.google.com - once you install the toolbar, you can see it at any time in Internet Explorer 5 by doing View | Toolbars and enabling Google! For more Internet Tips, visit the permanent location of this story.
paul.gobes@robelle.com
According to the official htdig.org home page, this search engine supports searching HTML and TXT files, robot exclusion (i.e., you can tell it not to search certain files or directories), boolean and fuzzy logic, configurable results format, indexing of password-protected directories, and external converters to index DOC and PDF files. HtDig is widely used in the UNIX world.
For more 3000 internet resources, visit the permanent bookmark for this tip.
FTP on the MPE platform is very similar to FTP on HP-UX, Linux or Windows but with some interesting MPE'isms.
exitonerror - great for batch
setting MPE file attributes
executing host commands
file names default to MPE name space
For full details on these features and examples, visit the permanent bookmark for this story.
Neil.Armstrong@robelle.com, Suprtool Developer
Mark Bixby (mark@bixby.org) writes:
GNU wget is a command-line utility for downloading HTTP or FTP files and
saving
them as local e3000 bytestream files. It is capable of mirroring,
recursive
retrievals, and other way cool things. By running wget first and saving
a
web
page locally, any program on your e3000 can access web pages.
For much more on wget, visit the permanent bookmark of this story.
Robelle Solutions Technology Inc. provides the What's Up, DOCumentation? newsletter as a service to our customers, who may subscribe to the e-mail newsletter using this subscription form. The newsletter is available in HTML format, plain-text, or PDF.
Comments about this issue, as well as ideas for future issues, including news, tips, and suggestions for articles, can be sent to bgreen@robelle.com.