Skip to content

Calling the auto-generated `Modify__` or `Remove__` API method on a Custom Logical Unit's table (a `_CLT`-suffixed table) always fails with 'MODIFIED2: The object has been modified by another user,' even though the record genuinely hasn't been touched by anyone else, and even though the equivalent `New__` insert call and standard-table/custom-field-table Modify calls all work correctly. What's actually different about Custom LU tables here?

Answer

The auto-generated Modify__/Remove__ methods for a Custom LU's table expect the OBJVERSION parameter in a specific text format matching the record's ROWVERSION, converted from its native date/timestamp form into a specific string format — specifically something like TO_CHAR(rowversion, 'YYYYMMDDHH24MISS') — rather than the raw ROWVERSION value passed as-is. Passing the untransformed raw value is exactly what triggers this false 'modified by another user' error. To retrieve the correct OBJKEY/OBJVERSION pair for a given record beforehand, either query the Custom LU's generated _CLT table view directly for its ROWKEY and ROWVERSION (converting ROWVERSION with the same TO_CHAR format), or query its generated _CLV view instead, which already exposes ready-to-use OBJKEY and OBJVERSION columns directly.

← Browse Developer Studio, deployment, and upgrades questions