|
> From: Behalf Of Richard B Baird
>
> would you always specify const if you don't need or want the proc
> to change the data sent?
I use CONST primarily because I can use expressions. If I have a parameter
that is 6.0 and I specify it as CONST, I can pass in not only a 6.0 field,
but anything that I could legally assign to a 6.0 field with an EVAL
statement, including literals (17) and expressions (myAge-25).
The nice thing about CONST as opposed to VALUE is that CONST can be used
with EXTPGM calls. One good example is for QCMDEXC; if you specify the
length as CONST, you can pass in an expression such as %LEN(CmdString). In
the following example, assume command, lib and file are all VARYING strings:
DQcmdexc PR EXTPGM('QCMDEXC')
D Cmd 128 const
D CmdLen 15 5 const
C eval command = 'CRTPF ' + lib + '/' + file
C callp Qcmdexc(command:%len(command))
Joe
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.