|
Hi Alan,--
One of us is confused, so let's see who it is. The reason I say that is
because what you're saying you can't do on a CRT* command, I say you can.
In case it's a difference in version, I'm at IBM i 7.1.
On CRTPGM, there is the BNDDIR option where you can reference a
binding directory. It's not module or service program specific. It
will bind in whatever you have listed in the binding directory (I
believe it will only bind in service programs that are referenced, I'm
not sure if that stipulation occurs with modules or not).
CRTPGM PGM(X) BNDDIR(MYLIB/TESTBNDDIR) CRTSRVPGM SRVPGM(X)
BNDDIR(MYLIB/TESTBNDDIR)
We have a general purpose binding directory that houses quite a few of
our service programs. We call it GENSRVPGMB. By default (template),
our RPG programs include this in the H-Spec, and our CL programs
include it in the
(our) initialization section of the CL.
If we have a service program that binds in 3 modules, and those 3
modules are only for the service program, we would either list out
those modules on the CRTSRVPGM command, or create a binding directory
specific to the service program and have that binding directory pulled
in in the H-specs of the program.
-Kurt
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Alan Campin
Sent: Thursday, January 31, 2013 5:26 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: RPG - Software Architecture / Best practices
OK, what does you CRTPGM or CRTSRVPGM look like? You have to specify
the modules or put *ALL and the system searches through every module
in the system. I have not quite figured out the purpose of having
modules in binding directories if you have to specify them on the CRT
command. There is no *BNDDIR option on the module name in the CRT
command. That is why I have always used a make tool. Everything is
specified in the header of the source.
On Thu, Jan 31, 2013 at 1:58 PM, Anderson, Kurt
<KAnderson@xxxxxxxxxxxx
wrote:
Why aren't binding directories going to deal with multiple modules?properly.
Copied this from a binding directory of ours:
DATEUTIL *MODULE *LIBL 11/12/09 13:14:33
GET_QUIRKS *MODULE *LIBL 11/12/09 13:14:41
-Kurt
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Alan Campin
Sent: Friday, January 25, 2013 10:49 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: RPG - Software Architecture / Best practices
But what about multiple modules? You need a make tool(See
www.think400.dk/downloads.htm and look for compile). Binding
directories are not going to deal with a multiple modules.
On Fri, Jan 25, 2013 at 10:44 AM, Buck Calabro <kc2hiz@xxxxxxxxx> wrote:
On 1/25/2013 9:46 AM, Charles MARTIN wrote:https://en.wikipedia.org/wiki/Test-driven_development)
I am a french software architect, in dotnet mainly.using best practices, design patterns, etc.
I am not used to program in RPG, but I am working in it.
I have been asked to help RPG programmers to work in a different
way,
I am looking for advices, which could help me to get in thedirection.
right
-snip-
What I would like to achieve is :https://en.wikipedia.org/wiki/Multitier_architecture)
* Use a layered architecture (
o Presentation Layer
o Business Layer
o Data Layer
* Do TDD (
o And later, BDD (https://en.wikipedia.org/wiki/Behavior_driven_development)
programs" to do the layering.
I am doing a Proof of Concept with my colleagues, using the
"Service
That would be a good start.
I could not find something similar on the net.
Does that seems a good idea to you, the RPG experts ?
How would you do that ?
Sounds like a magnificent idea! To help your colleagues adapt,
add the service program to a binding directory, and put the
binding directory in your standard H-specification. Then your
colleagues can compile easily with PDM option 14 rather than a two
step process of creating a module, then a program. What has
helped me is to tell my colleagues that sub-procedures are nothing
more than user-written BIFs (built-in functions).
There is an open source RPGUnit service program available for TDD.
http://rpgunit.sourceforge.net/ It's not integrated into Eclipse,
but it's a start. A larger issue is how to create and maintain a
representative database - one that will exercise the edge cases
http://archive.midrange.com/rpg400-l.
Bonne chance!
--buck
--
This is the RPG programming on the IBM i (AS/400 and 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
----
This is the RPG programming on the IBM i (AS/400 and 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 IBM i (AS/400 and 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 IBM i (AS/400 and 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 IBM i (AS/400 and 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 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.