× 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.



On 2/15/2017 7:23 AM, Rob Berendt wrote:
Buck,

I can see where this argument can start to get religious.

Yes it can, my friend. That's why I tried to explain the circumstances
I personally am in, hoping to give context to my opinion and allow
someone else to evaluate how useful that is (or not!) in their own
circumstances.

I have however used programs with SQL only when others would probably have
used RLA. But that was for a program which touched files in multiple
vendor versions and that format level check would have been onerous.
There's always some way to work around it and stick with RLA but that's
going to the other religious extreme.

I may not have said it well, but I use RLA with DDL-defined tables, and
I use SQL with ancient DDS-defined tables. As needed.

I think that making One Rule For Every Circumstance denies the ability
of programmers to assess their environment and find the best way. I
don't advocate hard and fast rules for programmers with one exception:
brand new programmers who have no idea how to navigate the thousands of
decisions they need to make in order to write their first few production
programs. Raw beginners need a firm, limited framework they can work
within.

And I seriously do not buy the argument that if you're using a cursor you
are using SQL wrong.

It's a red flag for several reasons:
1) Database design needs enhancement
2) It's an attempt at a one-to-one SETLL/READE to SQL migration. Why do
that?
3) It's a copy of a template program that someone wrote in V3R6 and
that's the example I have to hand

Is it wrong? No! I use cursors when they're needed. But I think about
it first, and don't just reach for cursors every time I need to do
something.

One of our major vendor packages, Infor, uses LF's on all their physicals
and their RLA never touches the physicals. And their LF's never select
all columns. I have taken a copy of one of their tables and added columns
needed for Temporal Table support and I did not redo the LF nor the RPG
programs using RLA. Worked fine. There's a lot I disagree with them
about database design, a serious whole lot, but that was nice to have.

Vendor packages are sometimes the source for 'template' code that gets
copied around the group and applied willy-nilly without considering
alternatives. Because sometimes the pressure of 'do it now' exceeds the
effort to think, design, test, debug, and deploy an original, custom
solution. I live in that glass house myself.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.