Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

RPGLE PARM limit

Status
Not open for further replies.

tfass

Programmer
Apr 30, 2010
3
US
I have converted an RPG/400 program to RPGLE because I was getting the error 'too many parm operations for the specified CALL' on the compile and confirmed the limit was 255 for PARM statements for a PLIST. After converting to RPGLE, I expected this would now compile because all documention I can find says that a PLIST can have 399 PARM stmts. I have 256 and am still getting the RNF0650 error. Is there something else I need to look for in the program and/or change?

Thanks for any help.
 
Yes. FYI, I used the CVTRPGSRC command and it converted the program fine with only a few minor tweaks needed.
 
Found it. You are limited to 255 unless you are using CALLB. See the text from the manual below:

One PARM statement, or as many as 255 for a CALL or 399 for a CALLB or PLIST are allowed.
 
Thanks. I had found that text in the manual but I guess I misunderstood it as "399 for a PLIST" (reading it as PLIST independently used and not part of the CALLB) and was allowed thinking they meant:

CALL PGM PLIST1

PLIST1 PLIST
PARM P1
...
PARM P366

as opposed to:
CALL PGM
PARM P1
...
PARM P255

Thanks for your help.
 
tfass -
You might think of using the Local Data Area to transfer data back and forth to/from programs. We use CopyBooks to keep them equal. Quick, Clean, Easy - IMHO!
 
IIRC, the max size of the LDA is 1,024 bytes. If all 256 parms fit within that size, the LDA may be the ticket.
 
You can pass a PLIST thru a SPECIAL device. Never done that. But it's on the internet, therefore it has to be true.

* SPECIAL file with PLIST operation: Allows you to specify an input/output
device that is not directly supported by the RPG/400 programming language.
You can add additional parameters to the RPG/400-created parameter list with
the use of the PLIST and PARM operation codes.See “Special File” on page 101 for information on the SPECIAL device.

MIS
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top