×
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.
The language has evolved and there's always "backward compatibility" to
consider.
At V6.1, the manual states:
"The name of the procedure interface, specified in positions 7-21, is
required for the cycle-main procedure. It is optional for subprocedures.
If specified, it must match the name specified in positions 7-21 on the
corresponding prototype definition."
Taking this simple example:
// Cycle main procedure
H DftActGrp(*No) ActGrp(*New)
D MyProc PR ExtPgm('MYPROC')
D PI
D UserId S 10A Inz(*User)
/Free
Dsply 'In MyProc' UserId;
*InLR = *On;
Return;
/End-Free
The above code won't compile at V6.1, however it's fine at V7.1 when
more flexibility was introduced at the same time as full free-format
coding. The manual at V7.1 states:
"The name of the procedure interface is optional. If specified, it must
match the name of the corresponding prototype definition."
(BTW, the requirement for the EXTPGM to have a name parameter was
relaxed as well.)
HTH,
Brian.
On 26/04/2019 23:51, Stuart Rowe wrote:
I always wondered why there is a "name" on a procedure interface. I have
never seen an example where *n was not sufficient as the name.
As an Amazon Associate we earn from qualifying purchases.