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