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



Robert,

This is the way I code calls with lots of parms:

D SIPROTO DS D #End 1A D blitm# D blsqty D bltxcd D bllc01 D bllc02 D bllc03 D blcust D blref# D dlspst D dlsp01 D dlsp02 D dlsp03 D SIU002 PR ExtPgm('SIU002')
D SIUAddr Like(SiProto)
And then:

IF (blclas = '500' OR blclas = '605') Or #end = 'Y';
SIU002(SiProto); ENDIF;
I don't think it's necessary to change the called program, but it can be coded:

D SIU002 PR D Parms Like(SiProto) D SIU002 PI D InParms Like(SiProto) D SiProto DS Based(pSiProto)
D #End 1A D #Item 5S 0 D #Qty 5S 0 D #TaxCode 5A D #Local1 5A D #Local2 5A D #Local3 5A D #Cust 5S 0 D #Ref 6S 0 D #StStamps 5S 0 D #Lc1Stamps 5S 0 D #Lc2Stamps 5S 0 D #Lc3Stamps 5S 0
I've never run into the problem you described. I just hate typing all of those parms on the callp.

I suppose (but have never tried) building a string in the caller and just passing the string as a single field. But you would probably have to change the called program to receive this single field and parse it out.
* Jerry C. Adams
*IBM System i Programmer/Analyst
B&W Wholesale Distributors, Inc.* *
voice
615.995.7024
fax
615.995.1201
email
jerry@xxxxxxxxxxxxxxx <mailto:jerry@xxxxxxxxxxxxxxx>



Robert Munday wrote:
Good morning, class.


I am creating new programs in /FREE based upon fixed format programs currently in production. I have an external program call with 39 parms. It works in fixed format (it must... it's in production), but when I do the same thing in /FREE, I get:

*RNF5407 20 More parameters were passed in the prototyped call than are allowed.


Here is the code:

* PFS - Loan Rates Calculation D PFM202R PR ExtPgm('PFM202R') Loan Rates Calc D PFM001 Like(@pfinco) Finance Company D PFM002 Like(ppplst) Policy State D PFM003 Like(@plan) Plan D PFM004 Like(@pfspmt) Payments D PFM005 Like(@pfsefdt) Effective Date .....
D PFM037 Like(@drvs) Number Of Drivers
D PFM038 Like(@charge_acq#) Charge Aquisition
D PFM039 Like(@NRtype)

// PFS - Loan Rates Calculation CallP PFM202R(@pfinco :ppplst :@plan :@pfspmt :@pfsefdt :@pfsfrmla :@pfscalc :@pfstype :@pfsoper :@pfspm1 :@pfspm2 :@pfspm3 :@pfspm4 :@pfspm5 :@pfspm6 :@pfspm7 :@pfspm8 :@pfspm9 :@pfspm10 :@pfspm11 :@pfspm12 :@pfspm13 :@pfspm14 :@pfspm15 :@pfspm16 :@pfspm17 :@pfspm18 :@pfspm19 :@pfspm20 :@pfspm21 :@pfspm22 :@pfspm23 :@pfsapr :@pfstotal :@dfdwpp :@ppirat :@drvs :@charge_acq# :@conr :@NRtype); // PFS - Loan Rates Calculation


Where am I going wrong? What's the solution? How many parms can I pass?

Thanks,


Robert Munday
Munday Software Consultants
Montgomery, AL
on assignment in Nashville, TN




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.