×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) 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.

This thread ...

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.