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



Hello, David:

This is no different than how it has always been, with CLP and RPG/400, etc. -- for example, when you code (in CL):

CALL PGM(XXX210)

the compiler will compile this, but XXX210 does not need to exist (at compile time).

How could this be done any other way? Otherwise, you would constantly be running into a version of "the chicken and the egg" problem, where you cannot create program A because program B does not exist yet, or vice versa.

Also, you would have to ensure that you always have the correct library list at compile-time, in order for the compiler to verify the existence of an unqualified program name.

Just because this happens to be prototyped, in an ILE language (RPG IV), how is that _any_ different?

In fact, the same thing is true when you prototype a call to an external procedure in some other *MODULE or *SRVPGM -- at compile time, that *MODULE or *SRVPGM does not even have to exist. You can always do the CRTRPGMOD (or CRTCMOD, etc.) -- it is only at "bind time", when you attempt to bind your new *MODULE, that you will get errors if the other *MODULEs or *SRVPGMs are not found or do not exist.

Perhaps you are confused because you are using CRTBNDRPG with a BNDDIR specified in the H-spec? In effect, this single command is actually performing two steps for you -- CRTRPGMOD followed by CRTPGM ... so it seems to be checking for the existence of the other modules or service programs at "compile time" -- but in reality, this is happening "at bind time" (the embedded CRTPGM command).

Does that explanation help?

All the best,

Mark S. Waterbury

> David FOXWELL wrote:
Hi,

I just opened up a source member that I need to modify and found this.


D Prc PR EXTPGM ( 'XXX210' )

D Parm1 etc

D Parm2 etc



D Prc PI

D Parm1 etc

D Parm2 etc

Just realised I don't fully understand EXTPGM as XXX210 is obviously an error. The source, module and program are all named XXX110.

Would somebody care to enlighten me?

Thanks.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.