Tip of the Month
Creating Cool Web Apps
Would you like to create enterprise web applications that
directly interact with your mainframe databases and files?
With UltraQuest, you can create new web pages or easily
convert mainframe "green screen" applications into modern
web pages. Now this is easier than ever by pairing up
UltraQuest with JSON!
In a traditional UltraQuest web page, a NOMAD procedure
(cgi) delivers the HTML that is displayed in your web
browser. This is done very simply with the use of
UltraQuest's WEB commands, such as WEB SEND. Other WEB
commands allow you to place database values into web page
input fields before it is sent. And you can insert the
results of a LIST request or PRINT statement into a
particular position in the HTML. An advanced user might
even dynamically generate HTML code to include in the
Simple! But would you like to develop your web site
separately from your back-end database logic? Perhaps you
have a staff of web developers that are adept at creating
elegant, versatile web sites, but these are not the same
people who are skilled in the back-end database technology.
Wouldn't it be nice if you could utilize your talent to its
fullest potential, using your expert web developers to
create the front-end web page (the presentation layer) and
your expert NOMAD developers to create the back-end logic
(the business layer)? Well now you can!
New WEBJSON commands allow you to format and send simple
data to the browser in a format called JSON. This frees the
back-end experts from having to dabble in web page design
and concerns of where to fit the data in the web page. In
fact, most business logic in existing applications can be
reused, only requiring slight modifications to redirect
results to the browser.
Similarly, front-end experts can develop the web page using
without worrying about the back-end logic for obtaining or
spiffy pages that dynamically react to the JSON data sent
to it through UltraQuest.
And even when a developer can do it all, it can be easier
to develop and maintain web pages with separate business
and presentation layers. The web page can be created and
tested locally on a PC, without requiring server
interaction in the early stages of development. And changes
to requirements can often be more easily handled in
architectures that de-couple the business and presentation
Never heard of JSON before? JSON is a standard format
commonly used today for transferring data between servers
and client browsers or applications. It stands for
In the next newsletter, we’ll discuss another huge benefit
of using JSON data: writing web pages using asynchronous
transactions to change the data on a page without
re-writing the whole page.
Test your knowledge or learn something new
Suppose you have a table of customer accounts containing
detailed transaction data, with items/columns that
identify the customer (CUSTNO), the transaction
(TRANS_ID), and the amount of the transaction (AMOUNT).
How do you produce a report of total transaction amounts
for each customer, in order from highest to lowest?
In other words, for this NOMAD MASTER:
MASTER ACCOUNT INSERT=KEYED(CUSTNO,A,TRANS_ID,A);
ITEM CUSTNO AS A8;
ITEM TRANS_ID AS A8;
ITEM AMOUNT AS 9,999,999.99;
or UltraQuest Reporter table:
with this detailed data:
CUSTNO TRANS ID AMOUNT
-------- -------- ------------
1SMLLFRY 1 500.00
1SMLLFRY 2 1,000.00
1SMLLFRY 3 800.00
2SMLLFRY 1 1,500.00
9BIGFISH 1 100,000.00
9BIGFISH 2 50,000.00
produce this report:
so you can see who the big fish really are!
Take a Peek at UltraQuest Reporter 6.0
video gives a short overview of UltraQuest Reporter 6.0.
If you've never seen Reporter before, this is a great way to
see what it can do for you! Click
here to watch now.
Sign up now to see a deep dive video of UltraQuest 6.0
Click here to register for a special viewing of
UltraQuest 6.0 in action
See our "Peek at Reporter 6.0" plus how to do an
extract, joins, job scheduling, the browser-based
UltraQuest library for reports and dashboards, and a
sample UltraQuest web application. For more information,
please contact Sales at
or call 203-383-4600 ext 2.
Check Us Out On
We would love for you to connect with us by clicking on any of
the social network links.
to check out and see our postings on our Social Media page.
Did you know???
Select Business Solutions has a team of consultants that can
help you with anything from NOMAD/UltraQuest application
support, configuration, efficiency improvements to systems
programming and installs.
If you want to know more, please email
or call 203-383-4600 ext 2.
Select Business Solutions has always based product development
and enhancements on the feedback we get from our customers.
Features like the interfaces to Oracle and SQL Server and the
UltraQuest Scheduler were based directly on requests from our
customer base. We pride ourselves on being responsive to our
customers’ needs and the changing IT environment, and we want to
hear from you. If there is a product feature you would like to
see added, or if you have any suggestions on how to make our
products better please email them to us at
Last month, we asked readers to send in their responses
to the NOMAD Puzzler. Well, we stumped you! Here's the
question and answer:
Question: What may be a more efficient alternative to the
following expression when ACCOUNT_NUM is a key in a VSAM
or NOMAD/BTREE MASTER?
(ACCOUNT_NUM eq 123) or (ACCOUNT_NUM eq 789)
(ACCOUNT_NUM AMONG (123, 789))
Why? The above is a "smart" expression. With VSAM or
BTREE data, we will key directly to the two selected
records. Even with NOMAD data, we will stop scanning the
data after we find the second selected record. For more
information about "smart" expressions, look for
"Smart SELECT Technique" in Chapter 8 of the
UltraQuest & NOMAD Reference Manual.
Did you try your hand at this month's puzzler?
NOMAD/UltraQuest Puzzler Answer
Question: How do you produce a report sorted in
descending order by a sum?
Answer: Create a temporary database that sums the AMOUNT
for each customer, then report from the temporary database
by the summed amount in descending order. Let's see how
this is done, first in NOMAD and then in UltraQuest
Create the temporary database that sums the amounts for
create by custno sum(amount)
View the temporary database description:
MASTER TEMP TYPE=CREATED INSERT=KEYED(
ITEM CUSTNO AS A8 ALIAS=TEMP1
ITEM AMOUNT AS 9,999,999.99 INT=P15.2
Create the report in descending order of the summarized
from temp list by amount desc custno
Create the temporary database by designing a request to
build it. Add the CUSTNO and AMOUNT columns to your
request, sort the CUSTNO column, and summarize the
AMOUNT with the SUM function. On the Run dialog, choose
Database for the output type, fill in a database name
such as ACCTSUMS, and run the request.
The temporary database request is processed and the
ACCTSUMS database is downloaded into Reporter.
Start a new request, picking the temporary database,
ACCTSUMS. Add the AMOUNT and CUSTNO columns to your
request, sort by the AMOUNT column and click the
Descending radio button, and then run the request.
Now you can see who the big fish really are!
Tip - if you'd prefer the column order switched, with
customer number on the left, add the NOPRINT option to
the AMOUNT and insert a second instance of AMOUNT after
CUSTNO. In NOMAD, the final request would be:
from temp list by amount desc noprint custno amount
3 Corporate Drive, Suite 216
Shelton, CT 06484
US Phone: 1.888.472.7347
UK Phone: 44.20.3642.0532
Outside US & UK: 1.203.383.4600
If you do not wish to receive future emails from
Select Business Solutions, please email: