Permission is granted to reprint this
document (but not for profit), provided that copyright notice is given.

Qedit and Suprtool are trademarks of
Robelle Solutions Technology Inc. Oracle is a trademark of Oracle Corporation,
Redwood City, California, USA. Other product and company names mentioned herein
may be the trademarks of their respective owners.

Suprtool
provides fast access to your data on the HP e3000. With Suprtool, you can
perform many necessary DP functions easily, with just a few simple commands. At
Robelle we are constantly working on your enhancement requests so that we can
include them every year when we release an updated version of Suprtool.

Suprtool
and its associated products run only on CPUs whose serial numbers have been
encoded ("showvarhpsusan"
on MPE/iX). They also may be encoded with your
HPCPUNAME values. If it fails to run and you get an "invalid
HPCPUNAME" or "invalid HPSUSAN" error message, contact Robelle
for assistance.

The
user manual contains the full description of all the Suprtool suite of products
including Dbedit, Suprlink,
STExport and Suprtool2, as well as usage tips and
commands for each. The manuals are up-to-date with all the latest changes. To
see only the changes in the latest version, see the "What's New"
section of the manual, or see the change notice.

You
can download our manuals and change notices in various formats and you can order printed
(hardcopy) manuals from our web site at:

If
you have any questions about the upgrade process or run into any problems,
please call us. Technical support is available on weekdays from 8 a.m. to 4 p.m.
Pacific time at 289.480.1060 or you can e-mail your question to support@robelle.com.

Suprtool has a new
function called $length which returns a double integer number that is the
length of a given byte or numeric field. For byte type fields Suprtool starts at the right most byte position to look for
any non-space character and calculates the length of the data. For numeric
fields Suprtool will convert the number to display
and starting on the left will search for any non-zero character to establish
the length.

Below
is an excerpt from the manual, that describes how it can be used:

The
$ROBELLE variable on HP-UX and Open platforms has been expanded to 55
characters for the $ROBELLE directory name when you are installing outside of
/opt/robelle. You use the $robelle
variable to tell suprtool and all of the programs
that come with suprtool where to find where it is
installed.

The
$edit function converts data from numeric to byte and applies an edit mask to
format the data. Neutral data is not considered to be signed so if you have
neutral data, a positive sign will not be applied to the edit mask. With Set EditSignNeutral turned on, Suprtool
will consider the Neutral data to be positive and therefore print out the “+”
or “DR”, depending on the edit-mask used.

SetInitNumExtent, when specified with a number between 1 and 32 and will use that
number on the creation of the Outputfile,inthe Initial Extents parameter.

This can help with extent allocation
depending on your systems disc space and fragmentation. Keep in mind if you set
InitNumExtent to 1,andMaxNumExtentis alsoset to 1, all of the disc
space required for the output file will attempt to be allocated at once.

When a value between 1..32
isspecifiedforInitNumExtent,and InitExtents is turned on, the InitExtents
flag will be turned off.

SetSortMemAddraccepts a number between 10
million and 2billion which will add space to a memory mapped file used during
thesort processandis
to be used with Set SortExtMem, when it is turned on
and the default adder value is not enough to preventaBounds condition.

The if / extract commands can now utilize
a new function called $LEADZEROZ, which allows you to add leading zeroes to a specific
display field. This was designed specifically for the extract command and
fixing up data but can be used in the if command as well.

$NUMBER is capable of fixing up numbers,
but the new $LEADZEROZ function is more lightweight and simply adds leading
zeroes, and has an option to justify right as shown below. The source data
looks like this:

/PRINT LEADZERO

1

2

3

4

5

6

7

8

9

10

12

12345

220

You can format with the following:

>IN LEADZERO.SUPRTEST

>DEF A,1,12,DISPLAY

>EXT A=$LEADZEROZ(A,J)

>out *

>xeq

000000000001

000000000002

000000000003

000000000004

000000000005

000000000006

000000000007

000000000008

000000000009

000000000010

000000000012

000000012345

000000000220

IN=13, OUT=13.
CPU-Sec=1. Wall-Sec=1.

The $LEADZEROZ function cannot fix issues
like commas and decimal places in a display field, this can be handled by the
$number function.

The if / extract commands can now utilize
a new function called $LEADZEROB, which allows you to add leading zeroes to a
specific byte field. This was designed specifically for the extract command and
fixing up data but can be used in the if command as well. The data looks like
this:

The if / extract commands can now utilize
a new function called $Month, which will add a given number of months to a
given date in the format of ccyymmdd or yyyymmdd.

For Example:

In somefile

Item mydate,date,ccyymmdd

Def targetdate,1,4,double

Ext targetdate=$month(mydate,+4)

The above task will take the field mydate and add four months to it. Suprtool will check if
the date is valid and adjust the date within reason. For example
if the given month for mydate has 31 days and the day
is 31, and the month mydate becomes when the date is
added to has only 30 days. The date will be adjusted to have the 30th
for the day.

The Excel command can be used to produce
columns of data that when imported will preserve spaces or leading zeroes.

EXCEL PRESERVE
<fieldname>

Example

STExport can generate columns that are
imported into Excel in such a way that leading zeroes are preserved. While the
format produced is not traditional CSV, the format will produce a field in the
form:

="00055555"

This form when imported into Excel will
preserve the leading zeroes. In order to invoke this format
the Excel command has very simple syntax:

$in filexcel

$col fixed

$quote double

$zero leading

$excel preserve newcharint-field

$out *

$xeq

These simple commands will generate a
file that will have the usually formatted fields as well as some fields
formatted specifically for preserving spaces and leading zeroes in Excel.

The result of such an STExport task will
look as follows:

="11111 ",="
01111", 0000011111,+00000011111

="11111 ",="
02222", 0000022222,+00000022222

Json Output

The
JSON command specifies STExport to generate Json output.
Use the JSON to produce Java Script Object Notation documents for either
Internet or Intranet applications.

JSON

OBJECT "string"

ONEPERLINE

Example

STExport
can generate JSON output with just a few commands.

$input file1sd

$JSON

$output myJSON

$xeq

These
four simple commands will generate a file that can be read by various
applications. The result of such an STExport task will look as follows:

[{"CHAR-FIELD":"11111","INT-FIELD":1111,"ZONED-FIELD":11111}]

Object

The
Object option allows the JSON data to be wrapped in a specific Object
description.

JSON Object "Json object"

Looks like this:

{"Json object":

[{\"CHAR-FIELD":\"11111",

\"INT-FIELD"\:1111,

\"DBL\-FIELD"\:11111,

\"PACKED\-FIELD"\:+1111,

\"PACKED\.-FIELD"\:+11111,

\"QUAD\-FIELD"\:11111,

\"ID\-FIELD"\:1,

\"LOGICAL\-FIELD"\:111,

\"DBLLOG\-FIELD"\:11111,

\"ZONED\-FIELD"\:11111

}]

}

Note that the example of the Output has one field per line with
data. Normally this would have to be specified via the command line but the
data is shown this way simply due to space constraints.

OnePerLine

For files that have many fields you may want to consider using the OneLine option of the JSON command:

JSON OnePerLine

STExport will put each field and data on one line with the appropriate
beginning and end notation.