In ABL, you can pass a static ProDataSet using the DATASET parameter, in which case the ProDataSet is copied from one procedure to the other. You also can pass a ProDataSet as a dynamic object, by using the DATASET-HANDLE parameter. In this case, the ProDataSet also is copied, but without the expectation there is a static ProDataSet definition in the procedure using the DATASET-HANDLE parameter.
The DATASET and DATASET-HANDLE parameters can be intermixed freely in procedure calls.