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



Scott,

Yeah, I figured that out :)
I've always included a name anyway, the only time I use *N is on the PI of
a procedure, with the dcl-proc right above.

Doing a quick test, when I compile the following
h dftactgrp(*NO) actgrp(*NEW)

d testFixedFormat...
d pr extpgm('TESTFIXFMT')
d parm1 10a const

d pi
d parm1 10a

c eval *INLR = *ON
c return

at TGTRLS(V6R1), I get
RNF3781 The procedure-interface definition for the main procedure must have
a name.

At 7.1 and 7.2, it compiles fine...

So that perhaps explains why I've always named the PI for the main
procedure...

The RPG manual mentions...

"If you do not specify a prototype for a cycle-main procedure, you use *N
as the name for the
procedure interface."

Just seems to me that we've lost some compile time sanity checks.

Charles



On Wed, Sep 4, 2019 at 3:56 PM Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx>
wrote:

Charles,

It doesn't know that *N is the same as 'myprogram'. The names have to
match in order for it to know they are referring to the same thing.

-SK


On 9/4/2019 12:26 PM, Charles Wilt wrote:
Just ran across some code...

// in a MYINC(MYPGM)
dcl-pr myprogram extpgm('MYPGM');
parm1 char(10) const;
end-pr;



//in MYPGM.SQLRPGLE
/copy MYINC,MYPGM
dcl-pi *n;
parm1 char(10);
end-pi

I was surprised it compiled successfully...no errors/warnings

When I changed the PI to
/copy MYINC,MYPGM
dcl-pi myprogram;
parm1 char(10);
end-pi

Then I got the SEV 20 errors about the missing CONST I expected to see.

Can somebody refresh my brain as to why the compiler didn't throw the
expected errors with the unnamed PI?

Thanks!
Charles
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


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.