The xddgen utility errored out with offset calculation problems when using keys on redefines. Two scenarios were addressed:
The key is made on a field belonging to a group that gets redefined and the redefined group takes place because of a WHEN directive. In this case xddgen generates field entries for the main group since it contains a key field, and then generates fields for the redefines group because of the WHEN directive, but this second field's generation overlaps the previous one, hence the offset calculation errors.
The key field is on the redefines of field or belongs to a group that redefines a field (or group). In this case xddgen already generated proper XDD but did not properly identify the situation and did not generate a warning or an error.
The logic has been modified to handle these scenarios and, in the second case, generate a warning or an error depending on the setting for redefined keys.