× 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 Sat, 27 Oct 2018 at 16:39, Booth Martin <booth@xxxxxxxxxxxx> wrote:

I am having to rethink an old habit and realizing times change, perhaps
I should, too?

Very commendable if you ask me.

I stopped using QCLSRC, QRPGSRC, QRPGLESSRC, etc a very long time ago; I
prefer all related source grouped together in a recognizable naming
pattern. Easy to see and easy to police.

Tradition is a harsh mistress.

If I could start over, I'd have one source PF for each object type, so
FILSRC
PGMSRC
SRVPGMSRC
PROTOSRC
BNDSRC
... you get the idea.

The basic concept is that since IBM i doesn't allow two programs in a
library to have the same name (not even CLP and RPG), or two files
(not even DSPF and PF), I need separate source files for these object
types as long as I want to have the source member named the same as
the object. Which I do, desperately. Is there anything worse than a
source member called CLP00001 -> CRTCLPGM CUSTMNTCL SRCMBR(CLP00001)?
This is why I bang on about having my service programs using one
module - named the same as the *SRVPGM. It refers to a /copy - the
same name as the service program. It's created with binder source -
named the same as the service program. Yes, it's a simplistic scheme,
and it's met my ILE needs for more than 20 years. I don't work on
rockets and my needs are simple.

I am seeing discussion about the necessity of using QCPYSRC as a PF-SRC
file. Is that a universally held practice in RPG-World? Is this a
compelling reason to revert back to 1980s practices?

I only have 10 characters to name my objects and source members. I
begrudge every one. It's already bad enough that I need to use
Hungarian notation to differentiate my CLP from my RPG, but to have to
use Hungarian notation on every source member because I lumped all of
the source into a single SRCPF just rubs me the wrong way. I don't see
it as wrong or evil; just not my first choice. I prefer a separate
source file for my prototypes so that all of the related source
members - all of them - have the same name as the object they end up
used in.

I had a good think about this very topic when the PTFs came out to
allow CL to be stored and compiled from stream files. I /could/ make
source with 128 character names, but the object can still only be ten.
And yet, with some discipline...

/development/pgm/custmaint_Customer_maintenance_app_mods_for_canada_vat.sqlrpgle
crtsqlrpgi pgm(custmaint)
srcstmf(/development/pgm/custmaint_Customer_maintenance_app_mods_for_canada_vat.sqlrpgle)
-- the secret sauce is to put the 10 char object name as the stuff
before the first underscore in the stream file name. Now I can quickly
swap between versions of the program:

/development/pgm/custmaint_Customer_maintenance_app_mods_for_canada_vat.sqlrpgle
/development/pgm/custmaint_Customer_maintenance_app_mods_for_eu_vat.sqlrpgle
/development/pgm/custmaint_Customer_maintenance_app_mods_for_japan_vat.sqlrpgle

Something to ponder; I don't really know the bestie best way to use
the IFS yet. But it fits right in to your very useful thread.
--buck

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.