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


  • Subject: Re: ILE Question
  • From: "Scott Klement" <infosys@xxxxxxxxxxxx>
  • Date: 08 Nov 1999 11:12:05 -0600

Hi John,

JFinney@omnia.co.za wrote:
>
> I have two modules. The first performs screen validations & then cal
>  the second module with a CALL opcode.  The second module performs
>  printing.
> Now the two modules are bound into a program using CRTPGM cl
>  command.  A service program containing two modules (one of which
>  contains mupltiple proc [NOMAIN] is also bound into the pgm at
>  at the time of CRTPGM. The problem I'm sitting with is the point
>  at which the first pgm calls the second an error occurs.  It seems
>  It seems as if a program object is being sought.

The "CALL" op-code is used to call another *PGM object.  You can't
use it to call a module.   You can use CALLB instead, or a better
way would be to prototype it and use CALLP.

> I tried changing the CALL to a CALLB but then received a compilation
> error (something about procedure pointer call).

When you use CALLB, make sure that the procedure that its calling is
in all uppercase, and is enclosed in single quotes.  The RPG compiler
will translate the actual module/proc name to uppercase for the
module itself, but the argument for the CALLB op-code is not
translated -- this is a common "gotcha" with CALLB.

>
> What am I doing wrong here? Do I have to prototype/create a procedur
>  form the second module?   Is there a correct way of doing what I'm
>  currently trying to achieve?

IMHO, the best way is to create a header file for the module that
contains the prototypes, this makes it very easy to integrate in with
other programs, later.  It also solves the upper/lowercase problem,
and gives you a lot of other options that CALLB doesn't support.

>
> Any help would be appreciated.
>  Incidentally, if there is no obvious error from my explanation and
>  someone would like the error messages, I'd be glad to give them.
>

If the things that I suggested above don't help, then posting the
error message & a code snippet would be advisable.

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


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.