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



>From a strictly RPG background...I can honestly say that I was taught &
learned "structured top-down" coding method in college.  I had some
great instructors & learned many good traits for coding.  To me it all
falls back to basic logic.  If you can think through & create programs
that work in a logical flow, why shouldn't you also be able to apply
that same logic to writing the code???  Unfortunately I have to agree
that many strictly RPG programmers do follow the spaghetti code rule,
which basically states "what ever works, use it & don't even think about
maintenance after implementation." 


Thanks,
Tommy Holden


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Wes Reinhold
Sent: Wednesday, April 26, 2006 10:26 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: Recommendations for Modular Coding HOWTO

Without beating this to death.  Yes they would have been called
A000_main, B100_process_record, C200_Update_record, D000_delete record.
(as an example).  My point is (I think) is that these old tried and true
methods lend themselves to RPGILE and can be used to some advantage.  It
may be, as has been pointed out, that there are yet newer tools that may
do this even better.  If you come from a COBOL background, chances are
you are familier with these ( I hope) If you come from a strictly RPG
background, this probabaly isn't the case.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
daparnin@xxxxxxxxxxxxxx
Sent: Wednesday, April 26, 2006 10:56 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: Recommendations for Modular Coding HOWTO





I haven't been following this thread too closely and I hate to jump into
the fray but here goes...  When I was taught modular programming (also
with coding forms and punched cards) using names like A100, A200, etc.
wouldn't have been allowed by our instructors because they aren't
"descriptive".
Sure, you might know what they are and document them in the comments but
names like BLDREC, PRTHDR, PRTDTL, etc. are more descriptive.  If you
are going to name your subroutines A100, A200, etc. did you name your
variables A1, A2, B1, B2, etc?  Actually, now that I think of it, they
called it "structured programming", not modular because it incorporated
more than just breaking things into functions and subroutines.


Dave Parnin
--
Nishikawa Standard Company
Topeka, IN  46571
daparnin@xxxxxxxxxxxxxx




 

                      "Wes Reinhold"

                      <WesR@xxxxxxxxxxx>        To:       "RPG
programming on the AS400 / iSeries"             
                      Sent by:                   <rpg400-l@xxxxxxxxxxxx>

                      rpg400-l-bounces@m        cc:

                      idrange.com               Subject:  RE:
Recommendations for Modular Coding HOWTO         
 

 

                      04/26/2006 10:22

                      AM

                      Please respond to

                      RPG programming on

                      the AS400 /

                      iSeries

 





As in the days when we wrote programs on codeing sheets and included
page and line numbers (and then turned them into the key punch
department)  - You put gaps in the numbers.

BEGSR A000;      // START

BEGSR A100;

BEGSR A200;

Actually A100 would be called from of A000 and A200 would be a
subdivison of A100 etc.

As you say, WDSC may address this as well and better.  This is one area
I have yet to embrace.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of albartell
Sent: Wednesday, April 26, 2006 9:50 AM
To: 'RPG programming on the AS400 / iSeries'
Subject: RE: Recommendations for Modular Coding HOWTO

I think the example you mention was put in place by shops because of the
lack of a good IDE. With WDSC and the Outline view it is very easy to
get to the sub whatever you want to go to without having to name them
according to when they appear in the program.

What happens when you need to add a new sub routine and it SHOULD be
placed in-between A000.. And B000..?  Do you put it at A001...? And what
happens when you need one in-between A000... And A001?

Am I missing something?
Aaron Bartell
http://mowyourlawn.com/blog

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Wes Reinhold
Sent: Wednesday, April 26, 2006 8:05 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: Recommendations for Modular Coding HOWTO

If they had been using Top Down Structured methods, it would have read:

Exsr A000_read record

Exsr B000_Update_record   (or whatever)  This allows you to find the Sub
whatevers easily.

Very simply TDSP follows these (and other) guidelines:

Work from the very to the very detailed.

Every Exsr does something below you, never above.

No gotos of course.

Every Subroutine starts with a sequential letter A000 B000 Etc.

Please note that I am not advocatating Subroutines over Sub whatevers,
You can embed SQL calls, calls to other programs, etc.  In a subroutine.

As anyone who has written programs for a while knows that good
programming is 99 % organization.

This was taught to COBOL programmers back in the 70's as a method to
counter the horrible tangled code That programmers at that time were
turning out.

Having come in from the cold and started working on an a AS400 again in
1999 I noticed that ILE RPG lent itelf well to these methods and I
started using them again on ILE RPG.

As I noted, the RedBook "Who Knew You Could Do That with RPG
............."
Has a simple consise style sheet section.
This is downloadable although that version doesn't seem to as complete
as an older version I ordered through the mail.  Other sources, as have
been noted, are also available.







-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of albartell
Sent: Tuesday, April 25, 2006 5:20 PM
To: 'RPG programming on the AS400 / iSeries'
Subject: RE: Recommendations for Modular Coding HOWTO

<Wes>
Interesting, some of the prominent presentors at COMMON, etc. still hand
out examples that say:

Exsr Read_record

Exsr Update_record

Huh?
</Wes>

What's wrong with that?  Or rather, what is your definition of modular
programming?

Aaron Bartell




-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Wes Reinhold
Sent: Tuesday, April 25, 2006 4:08 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: Recommendations for Modular Coding HOWTO

Well, Top Down Structured Programming (or modular)  sure made sense in
the 70's, when programs could produce a horrible tangle of code.  It
makes sense today, given the way RPG is evolving with /Free, etc.  I
teach it to my upcoming RPG programmers.

 Interesting, some of the prominent presentors at COMMON, etc. still
hand out examples that say:

Exsr Read_record

Exsr Update_record

Huh?

-----Original Message-----
From: rpg400-l-bounces+wesr=scc-inc.com@xxxxxxxxxxxx
[mailto:rpg400-l-bounces+wesr=scc-inc.com@xxxxxxxxxxxx] On Behalf Of
Alan Shore
Sent: Tuesday, April 25, 2006 4:59 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: Recommendations for Modular Coding HOWTO


"Actually, modular (or structured) programming was how they taught us to
write COBOL back in the 1970's.  Interesting to see it resurfacing."

That's the same for me. I learnt/was taught COBOL back in the 1970's,
and then introduced to modular (or structured) programming once I
(supposedly) understood COBOL. Another name given to modular programming
was GOTO-less programming.
The way modular programming was explained to me was to split the coding
into little blocks (sections or paragraphs etc. in COBOL, subroutines
etc in RPG). These little blocks of coding had one single purpose in
life. For example, that purpose was to:- 1. Print the headings on a new
page OR 2.
Write a record to a file. (This may also include the increment of a
counter, as well as the initialization of fields in that record, prior
to returning back to the mainline code.
OR
3. Calculating the check digit to an account number A good way of
modularizing, was that each little block would correspond to a block in
our flow-chart. (I haven't seen one of those in decades).
There are no real hard and fast rules to this. Somebody is going to read
what I have written and proclaim, "What a load of !@#$%^&.
Modularization is such and such a thing", and from their perspective,
they would be correct.
A question you have to ask is, does this little block of code (Section,
paragraph, subroutine etc.) do one thing?
If need be, can this little block of code (Section, paragraph,
subroutine
etc.) be used in multiple different places and obtain the same
end-result, with no change.


Alan Shore

NBTY, Inc
(631) 244-2000 ext. 5019
AShore@xxxxxxxx




             "Wilt, Charles"

             <CWilt@xxxxxxxxxx

             om>
To
             Sent by:                  "RPG programming on the AS400 /

             rpg400-l-bounces@         iSeries" <rpg400-l@xxxxxxxxxxxx>

             midrange.com
cc



Subject
             04/25/2006 03:00          RE: Recommendations for Modular

             PM                        Coding HOWTO





             Please respond to

              RPG programming

              on the AS400 /

                  iSeries

             <rpg400-l@midrang

                  e.com>









Wes,

The "Who Knew..." Redbook is on my list.

It's useful, but limited in the amount of examples it provides with
respect to modular coding.


Thanks,

Charles Wilt
--
iSeries Systems Administrator / Developer Mitsubishi Electric Automotive
America
ph: 513-573-4343
fax: 513-398-1121


> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Wes Reinhold
> Sent: Tuesday, April 25, 2006 1:48 PM
> To: RPG programming on the AS400 / iSeries
> Subject: RE: Recommendations for Modular Coding HOWTO
>
> The RedBook, "Who knew you do that with RPG IV, etc. etc.", at least 
> the older version, has a good chapter on this.
> Actually, modular (or structured) programming was how they taught us 
> to write COBOL back in the 1970's.  Interesting to see it resurfacing.
>
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Wilt, Charles
> Sent: Tuesday, April 25, 2006 1:18 PM
> To: RPG programming on the AS400 / iSeries
> Subject: Recommendations for Modular Coding HOWTO
>
> All,
>
> I'm trying to locate some reference materials to help my RPG III 
> programmers get a better picture of how to code in a more modular 
> fashion.
>
> Materials with RPG IV examples would be great, but it seems most RPG 
> IV reference material is geared toward syntax instead of application 
> design.
>
> Anybody have any favorites or know of training that focuses on the 
> usage of RPG IV instead of the syntax.
>
> Thanks,
>
> Charles Wilt
> --
> iSeries Systems Administrator / Developer Mitsubishi Electric 
> Automotive America
> ph: 513-573-4343
> fax: 513-398-1121
>
>
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing 
> list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, 
> unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a 
> moment to review the archives at http://archive.midrange.com/rpg400-l.
>
>
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing 
> list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, 
> unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a 
> moment to review the archives at http://archive.midrange.com/rpg400-l.
>
>

--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.