MAX(recordset, value [, KEYED ] [, UNORDERED | ORDERED( bool ) ] [, STABLE | UNSTABLE ] [, PARALLEL [ ( numthreads ) ] ] [, ALGORITHM( name ) ] )
MAX(valuelist)
| recordset | The set of records to process. This may be the name of a dataset or a record set derived from some filter condition, or any expression that results in a derived record set. This also may be the keyword GROUP to indicate finding the maximum value of the field in a group, when used in a RECORD structure to generate crosstab statistics. | 
| value | The expression to find the maximum value of. | 
| KEYED | Optional. Specifies the activity is part of an index read operation, which allows the optimizer to generate optimal code for the operation. | 
| valuelist | A comma-delimited list of expressions to find the maximum value of. This may also be a SET of values. | 
| UNORDERED | Optional. Specifies the output record order is not significant. | 
| ORDERED | Specifies the significance of the output record order. | 
| bool | When False, specifies the output record order is not significant. When True, specifies the default output record order. | 
| STABLE | Optional. Specifies the input record order is significant. | 
| UNSTABLE | Optional. Specifies the input record order is not significant. | 
| PARALLEL | Optional. Try to evaluate this activity in parallel. | 
| numthreads | Optional. Try to evaluate this activity using numthreads threads. | 
| ALGORITHM | Optional. Override the algorithm used for this activity. | 
| name | The algorithm to use for this activity. Must be from the list of supported algorithms for the SORT function's STABLE and UNSTABLE options. | 
| Return: | MAX returns a single value. | 
The MAX function either returns the maximum value from the specified recordset or the valuelist. It is defined to return zero if the recordset is empty.
Example:
MaxVal2 := MAX(4,8,16,2,1); 
SetVals := [4,8,16,2,1];
MaxVal3 := MAX(SetVals); 
OUTPUT(MaxVal2); //returns 16
OUTPUT(MaxVal3); //returns 16
//example using a DATASET
SalesRecord := RECORD
  INTEGER OrderNumber;
  INTEGER SaleAmount;
END;
Sales := DATASET([{923,1001},
                  {924,23},
                  {925,3000},
                  {926,3423},
                  {927,9999},
                  {931,113}], SalesRecord);
OUTPUT(MAX(Sales,Sales.SaleAmount)); //returns 9999