When a dataset is passed between a server and a client, it is passed by value.

Server-side

The following is the simplified syntax for defining the dataset parameter in server-side code:

DEFINE { INPUT | OUTPUT | INPUT-OUTPUT } PARAMETER
  {   DATASET FOR dataset-name
    | DATASET-HANDLE dataset-handle.
  }

The OUTPUT keyword is used for retrieving the dataset from the server.

The following is a server-side example of defining the dataset parameter and returning the dataset to the client. Notice an external procedure file is used, where all internal procedures, related to accessing the dsOrderOrderLine dataset, are placed.

/* Server-side code */

{include\dsOrderOrderLine.i}

PROCEDURE GetData: 

DEFINE INPUT PARAMETER pFilter AS CHARACTER NO-UNDO. 
DEFINE OUTPUT PARAMETER DATASET FOR dsOrderOrderLine. 

/* populate the dsOrderOrderLine dataset */ 

RETURN. 
END PROCEDURE.

See also

ProDataSet Parameters