Try OpenEdge Now
skip to main content
ProDataSets
ProDataSet Parameters : ProDataSet parameter table
 

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
DATASET dsXYZ
DATASET dsXYZ
INPUT
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.
DATASET dsXYZ
DATASET-HANDLE hDS
INPUT
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.
DATASET-HANDLE hDS
DATASET dsXYZ
INPUT
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.
DATASET-HANDLE hDS
DATASET-HANDLE hDS
INPUT
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.
DATASET dsXYZ
DATASET dsXYZ

DATASET-HANDLE hDS
DATASET-HANDLE hDS
DATASET dsXYZ
DATASET-HANDLE hDS

DATASET dsXYZ
DATASET-HANDLE hDS
OUTPUT
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.
DATASET dsXYZ
DATASET dsXYZ

DATASET-HANDLE hDS
DATASET-HANDLE hDS
DATASET dsXYZ
DATASET-HANDLE hDS

DATASET dsXYZ
DATASET-HANDLE hDS
INPUT-OUTPUT
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.
HANDLE
HANDLE
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.