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



<SNIP>Also, don't listen to the people that told you to remove EXTPGM.  You
CAN
remove it if you like, but you don't need to.  I'd suggest keeping it,
since, once again, the goal will be for the caller to be able to USE that
prototype to call your program.  Unless the caller is directly bound to
your program, it won't be able to call it without EXTPGM.  Removing it
won't help or hurt you or make any difference at all if you're not using
the prototype to call it.</SNIP>

That's not totally true.

A calling program must have the EXTPGM (unless directly bound), but the
called program doesn't need to have the EXTPGM on the prototype DSPECS.
This I can prove, not just talking out of my ...  :-)





Michael Schutte



                                                                           
             Scott Klement                                                 
             <rpg400-l@scottkl                                             
             ement.com>                                                 To 
             Sent by:                  RPG programming on the AS400 /      
             rpg400-l-bounces@         iSeries <rpg400-l@xxxxxxxxxxxx>     
             midrange.com                                               cc 
                                                                           
                                                                   Subject 
             05/04/2006 02:31          Re: *Entry to /Free problem         
             PM                                                            
                                                                           
                                                                           
             Please respond to                                             
              RPG programming                                              
              on the AS400 /                                               
                  iSeries                                                  
             <rpg400-l@midrang                                             
                  e.com>                                                   
                                                                           
                                                                           




> I am trying to convert to *Entry to /Free & I get a MCH3601.  Does the
> CLP have to be CLLE? Or am I missing something else?

No, it doesn't matter if it's CLP or CLLE.  There's absolutely no reason
why the code you posted wouldn't work.

My guess is that your CL program isn't passing all the parameters.  Maybe
you made a change to it, and forgot to recompile it?  Or there's another
copy of the same program that's elsewhere in your library list and being
called by mistake?  Or something like that.

The code you posted is completely valid.

Don't believe the people who tell you that the name has to be changed to
"main".  You CAN change it to main, and it'll work, but it's not
necessary.  In most cases, it's not desirable to call it main, because the
programs that call it would be doing "callp main" which doesn't make
sense, since all of your programs would be called by the same prototype
name!  Conflicts galore!  Of course, if you're not using the prototype to
call it, it's completely immateerial what you call the prototype.

Also, don't listen to the people that told you to remove EXTPGM.  You CAN
remove it if you like, but you don't need to.  I'd suggest keeping it,
since, once again, the goal will be for the caller to be able to USE that
prototype to call your program.  Unless the caller is directly bound to
your program, it won't be able to call it without EXTPGM.  Removing it
won't help or hurt you or make any difference at all if you're not using
the prototype to call it.

The system determines whether the PI is related to the main part of your
program vs. a subprocedure based on whether the PI is before or after a
P-spec.  If it's after a P-spec, it's in a subprocedure.    The EXTPGM
keyword is only used when the prototype is called.

Again, there's nothing wrong with your code.  From the error message, it
sounds to me like some of the parms aren't being passed.  The problem is,
therefore, in the caller.

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