ProDataSet parameter table
- Last Updated: February 11, 2026
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
ProDataSet parameter table
The following table summarizes the possible
combinations of parameter definitions for ProDataSets. Keep in mind
that BY-VALUE is the default mode for local calls
and the only mode for remote calls.
| Caller RUN statement form | Callee parameter form | Parameter mode | Result |
|---|---|---|---|
|
|
|
Remote or BY-VALUE: Static
ProDataSet dsXYZ in the caller is copied to the
static definition of dsXYZ in the callee. The ProDataSet
definition is passed along with the data for validation only, as it
is not actually needed by the client.Local BY-REFERENCE:
Callee points to the caller's ProDataSet using the callee's static definition,
which must match the ProDataSet passed by the caller.Local BIND: Same
as BY-REFERENCE, except the binding persists beyond
the end of the called procedure. |
|
|
|
Remote or BY-VALUE: Definition
and data of static ProDataSet dsXYZ in the caller
are copied to the callee, which constructs a dynamic definition
using handle hDS and loads the dynamic ProDataSet
(and dynamic temp-tables) with the data.Local BY-REFERENCE:
Callee points to the same ProDataSet as the caller using its dynamic handle,
which can accept any ProDataSet passed in.Local BIND: Same
as BY-REFERENCE, except the binding persists beyond
the end of the called procedure. |
|
|
|
Remote or BY-VALUE: Definition
and data of dynamic ProDataSet whose handle is hDS in
the caller are copied to the callee, which receives the data into
its static definition dsXYZ. The definition passed
in must match the local static definition.Local BY-REFERENCE:
Callee points to the same ProDataSet as the caller using its static definition,
which must match the ProDataSet passed by the caller.Local BIND: Same
as BY-REFERENCE, except the binding persists beyond
the end of the called procedure. |
|
|
|
Remote or BY-VALUE: Definition
and data of dynamic ProDataSet whose handle is hDS in
the caller are copied to the callee, which receives the definition
and uses it to construct a dynamic temp-table using its own local handle hDS,
then loads the data into this dynamic table.Local BY-REFERENCE:
Callee points to the same ProDataSet as the caller using its dynamic handle,
which can accept any ProDataSet passed in.Local BIND: Same
as BY-REFERENCE, except the binding persists beyond
the end of the called procedure. |
|
|
|
Remote or BY-VALUE: All the
same combinations are supported. Nothing is passed in to the callee.
The definition of the ProDataSet and its data are passed back in
the same form from callee to caller when callee returns. For the OUTPUT DATASET form,
the definition is used to validate compatible ProDataSet definitions;
for the OUTPUT DATASET-HANDLE form, it is used
to construct the ProDataSet in the caller.Local BY-REFERENCE:
Likewise, all the same combinations are supported. Callee uses the
caller's ProDataSet until the called procedure ends.Local BIND:
If the caller's ProDataSet is an unknown DATASET-HANDLE parameter,
or a REFERENCE-ONLY static ProDataSet parameter, the
callee's ProDataSet is used during the called procedure, and the
caller binds to the callee's ProDataSet after the called procedure
returns. |
|
|
|
Remote or BY-VALUE: Once again,
the same combinations are supported. The table definition and data are
passed in from caller to callee. Callee can make changes to the
data in the table, which is returned by being copied back to the
caller.Local BY-REFERENCE: Callee points to the
same ProDataSet as the caller using its dynamic handle, which can
accept any ProDataSet passed in.Local BIND: Same
as BY-REFERENCE, except the binding persists beyond
the end of the called procedure. |
|
|
Any | Local only. Cannot be used on a remote call.
The handle points to the ProDataSet instance in the caller (for INPUT or INPUT-OUTPUT modes)
or the called procedure (for OUTPUT mode). Only
dynamic references to the ProDataSet are possible. |