Please enable JavaScript to view this site.

A-Shell Development History

New language feature: INPUTONLY and OUTPUTONLY qualifiers may now be appended to function and procedure parameter definitions to clarify their intended usage. The qualifier must immediately follow the parameter size or structure type, with a colon in between, e.g.:

FUNCTION FN'TEST(P1 AS S20:INPUTONLY, P2 AS ST_PHONE:OUTPUTONLY)

The INPUTONLY clause serves primarily as an aid to self-documenting code, but will also cause the compiler to generate an error if you explicitly reference the parameter in an XPUTARG statement (using a literal parameter number). (There is no run-time aspect of this feature, so you won't be stopped from outputting to the parameter using a variable to specify the parameter number in the XPUTARG statement.)

The OUTPUTONLY clause also aids in self-documenting your code, but in addition it skips the input parameter binding operation (which, for very large parameters could save a lot of CPU cycles).