×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
Not abject terror, James. Just not the best tool for the job now days. Maybe if you don't have the SQL Licensed program on your box, it would be a better choice. But the only real thing that the Cycle does that SQL doesn't do in a more readable and maintainable way is level breaks. I admit that level break logic can be complex. But a good SQL report writer will solve that problem for you.
Mark Murphy
Atlas Data Systems
mmurphy@xxxxxxxxxxxxxxx
-----"James H. H. Lampert" <jamesl@xxxxxxxxxxxxxxxxx> wrote: -----
To: "RPG programming on the IBM i (AS/400 and iSeries)" <rpg400-l@xxxxxxxxxxxx>
From: "James H. H. Lampert" <jamesl@xxxxxxxxxxxxxxxxx>
Date: 04/27/2017 02:37PM
Subject: Re: New to RPG
I truly fail to understand the abject terror some people seem to have
about The Cycle. I can understand abject terror about doing mass updates
via SQL, but not about The Cycle.
The nice thing about The Cycle is that you can use as much or as little
as is appropriate to a given task.
I've written dozens of Cycle programs. I ride The Cycle anytime I need
to pass through an entire file, and DO SO WITH A LEVEL OF CONTROL THAT
IS NOT POSSIBLE WITH SQL.
With regard to using SQL to do some mass-update to a file, the VERY IDEA
gives me nightmares. Using the SQL approach for that can SCREW UP A LOT
OF RECORDS VERY FAST, WITH NO WAY TO HALT THE CARNAGE AT ONE DAMAGED
RECORD. Using explicit reads in an explicit do-loop instead of what's
already built into the language is sometimes necessary, to be sure, but
often it just amounts to re-inventing the wheel.
Likewise, modern interactive programs tend to run inside an event-loop
of some kind; The Cycle provides a perfectly serviceable built-in
event-loop.
Level breaks? Secondary files? I can't recall ever using either one, and
I certainly couldn't tell you how to do so (if I ever DID have a clue
how they work).
But above all else, either ride The Cycle, or disable The Cycle, but
NEVER, EVER, UNDER ANY CIRCUMSTANCES IGNORE IT. If you ignore it, one of
two things will happen: either (a) your program will fail to compile,
with a message to the effect that the compiler cannot determine how it
will end, or (b) The Cycle will run you over.
--
JHHL
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact
[javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.