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.
|