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



Great list of rules, Birgitta. Many thanks.

I wish I spoke German, so I could read more about your organization and its software. (for curiosity more than to fill a need at my organization.)

Gathering from what I can read (in the "German to English translator" on Google), your organization supplies software for other companies. In my mind that would be an ideal situation for using procedure based software. Using a set of rules is ideal and just what I consider a necessity.

In your opinion, are your rules generally consistent with the needs of an organization maintaining its own home grown software? If not, in what way would you modify them?

duane

BTW, I like your "signature statements". Just wish most organizations felt the same. I'm not sure they do. Actually, I'm pretty sure they don't. Maybe it's just the ones that would pick me as their candidate for employment. Maybe I should look to myself.

-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Birgitta Hauser
Sent: Friday, February 03, 2017 1:21 AM
To: 'RPG programming on the IBM i (AS/400 and iSeries)' <rpg400-l@xxxxxxxxxxxx>
Subject: RE: Procedure Examples VR7.1

We reduced it to a minimum of rules:

1. everything that can be reused, is an external procedure/function in an service program 2. Procedures/functions can be understood as "mini" programs and should be little black boxes, i.e. everything between the procedure and the caller is exchanged via parameter. The use of global variables should be reduced to a minimum.
3. procedures/functions are grouped according to their functionality into modules, e.g. all date functions, all string functions, all insert/update/delete routines for a specific table etc.
4. I prefer to create a service program for each of these modules and list the service program in a binding directory, that is specified when binding the service program.
5. All service programs that include procedures that can be universally used (i.e. date functions, string functions) are created with a named activation group (for example Service Program Name = Activation Group Name). In this way these service programs are only activated once within the job and stay active until the activation group is explicitly reclaimed.
6. all service programs including Insert/Update/Delete Routines are created with activation group *CALLER (due to the use of commitment control which is started per default with Commimtent Scope *ACTGRP).
7. Programs consist mainly of external procedure/function calls with a few ifs/dos etc.
8. Internal procedures are used very rarely and include only steps that are really unique for the (service-)program, for example initializing global variables.

Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok) "What is worse than training your staff and losing them? Not training them and keeping them!"
"Train people well enough so they can leave, treat them well enough so they don't want to." (Richard Branson)



CONFIDENTIALITY NOTICE: This electronic message transmission is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. If you have received this transmission, but are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this information is strictly prohibited. If you have received this e-mail in error, please contact NALC Health Benefit Plan at 703-729-4677 and delete and destroy the original message and all copies.

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.