The OPDESC keyword specifies that operational descriptors are to be passed with the parameters that are defined within a prototype.
When OPDESC is specified, operational descriptors are passed with all character or graphic parameters that are passed by reference. If you attempt to retrieve an operational descriptor for a parameter passed by value, an error will result.
Using CALLP with a prototyped procedure whose prototype contains OPDESC is the same as calling a procedure using CALLB (D). Operational descriptors are also passed for procedures called within expressions.
The keyword applies both to a prototype definition and to a procedure-interface definition. It cannot be used with the EXTPGM keyword.
For an example of the OPDESC keyword, see the service program example in the IBM Rational Development Studio for i: ILE RPG Programmer's Guide.