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



I'll admit to (usually) commenting this as *ENTRY Plist also to help the less forward-thinking folks.

Also, I am firmly in the "lazy" camp that Joe alluded to. *n is great!



-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Dan
Sent: Tuesday, October 10, 2017 2:26 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: *ENTRY PLIST to free-form procedure interface

Thanks Joe,

Your assumption is what I presumed, but wasn't sure if there were other
instances where a procedure could have more than one procedure interface.

I'm trying to determine a good standard for our "*entry plist" procedure
interfaces, since we're fairly new at using them here. Personally, I think
I'd like to name these procedure interfaces Entry_Plist. For example:

dcl-pi Entry_Plist;
Parm1 char( 1);
Parm2 char( 1);
Parm3 char( 1);
end-pi;

I guess if I can get it through my thick skull that procedures can never
have more than one procedure interface, I can live without that. But, I
think it might be useful to other devs here who don't know how the *ENTRY
PLIST C-specs convert to procedure interface. If I didn't name them
Entry_Plist, I would most certainly need to add a comment at the end of the
DCL-PI statement, i.e.: // <-- *ENTRY PLIST

- Dan

On Tue, Oct 10, 2017 at 5:11 PM, Joe Pluta <joepluta@xxxxxxxxxxxxxxxxx>
wrote:

I'm assuming you know that the dcl-pi inside a procedure is for that
procedure, and as far as I know you can only have one of those.
Additionally, the name is optional. In fact, I declare it with the name *n,
like so:

dcl-pi *n ind end-pi;

The declaration above is sufficient for any procedure with no parameters
that returns an indicator. I tend to have a few of those in my programs
(isInteractive, for example).

So that being the case, just think of your mainline as the "wrapper" for
your entire program. Again, you can only have one of those, but there the
benefit that you don't have to name it. So in your case, this would work:

dcl-pi *n;
Parm1 char( 1);
Parm2 char( 1);
Parm3 char( 1);
end-pi;

The big benefit to this being that this interface definition works for any
program with the same parameters.

Just me being lazy, I guess. :)

Joe


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.