Redefinition a main key in VARVc
Vadym
2-7-20
Hello. I try to migrate client from 8.1 to 8.5 and I have a problem.

In 8.1 VARVc was redifinited and in main key added additional index.

But if I try run 8.5 with this datadef hal.log tels me next:
"Error 1:redefinition of register VARVc is not allowed, please use RecordAddBegin()/EndRecordAdd()"

How can I solve this case?

Before

MainKeyBegin(Code,0);
KeySegment(Code);

After
MainKeyBegin(Code,0);
KeySegment(Code);
KeySegment(VARGCode);
Christoffer Riska
2-9-20
Maybe try this:

begin
RecordAddBegin(VARVc,"VARVc_custom");
MainKeyBegin(Code,0);
KeySegment(Code);
KeySegment(VARGCode);
EndRecordAdd;
return;
end;
Vadym
2-10-20
Unfortunately, HAL not support change existing keys in reccordadd block. Only when full redefinition record.
Edgars Dzenis
2-12-20
Hello,
How does Your datadef look in 8.1?

Did You try disabling index(DisableIndex("IndexName");) and add again?
Vadym
2-13-20
Edgars, thanks. DisableIndex is work fine - it's that I need.
Leave Comment
You can subscribe to notifications for this post by selecting the 'star' icon on the top right corner of the post.
Back to the list
Latest Posts
Andis Blicāns, Grasko
Thank You for answer. In this case I used SSLNoCertificateValidation = true; SendWebRequest SSLNoCertificateValidation = false; ...
23:01 24 Mar 2026
Gatis Jansons
Hi, Paul. Sounds like you're talking about REST API. And that your are overwriting data with older values if B managed to read record before A finished to update it. Classic conflict resolution ...
14:53 19 Mar 2026