×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Hi, Scott,

IIRC, some of this behavior was changed recently, e.g. with recent TR levels, for at least 7.3 and 7.4 ... so, your idea of "missing PTFs" may be "spot on"?  :-)

Mark S. Waterbury


On Thursday, November 12, 2020, 4:04:51 PM EST, Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx> wrote:

Brian,

Your code works for me.   I copy/pasted it, did not add "export", and it
worked without any troubles.

Perhaps you are missing a PTF?

-SK


On 11/12/2020 12:18 PM, Brian Parkins wrote:
Here's a puzzle. Does anyone have a good explanation? I have a source
member containing two procedures - the main (entry) procedure and a
subprocedure (PROC2). The main procedure calls the subprocedure.

If I code this as a Cycle Main program, all works well. Example:

**Free
Ctl-Opt DftActGrp(*No) ActGrp(*New);
// Main Entry procedure
Dcl-PR Proc2;
End-PR;
Dsply 'In main Proc' '*REQUESTER';
Proc2();
*InLR = *On;
Return;
Dcl-Proc Proc2;
// Internal subprocedure
  Dsply 'In Proc2' '*REQUESTER';
End-Proc;

If I code this as a Linear Main program, PROC2 requires the EXPORT
keyword, e.g.

**Free
Ctl-Opt DftActGrp(*No) ActGrp(*New) Main(Proc1);
Dcl-Proc Proc1;
// Main Entry procedure
  Dcl-PR Proc2;
  End-PR;
  Dsply 'In main Proc' '*REQUESTER';
  Proc2();
  Return;
End-Proc;
Dcl-Proc Proc2 Export;
// Internal subprocedure
  Dsply 'In Proc2' '*REQUESTER';
End-Proc;

(The source will compile but the Bind step fails without the EXPORT
keyword - "No definition was found for reference PROC2 in *MODULE".)
Why is the EXPORT keyword required?  (I've not been able to find any
clear explanation in the manual - tell me what I'm missing.)

FOOTNOTE: If I modified the coding of the second example and EXPORTed
PROC1, I could then create a *SRVPGM which did /not/ require PROC2 to
be EXPORTED.  Odd!

Brian.

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