Sample of what I used to do this:
procedure CreateSystemLink(IncomingRecordID: RecordId; NoteText: Text)
var
RecordLink: Record "Record Link";
LinkManagement: Codeunit "Record Link Management";
begin
LastEntryNo += 1;
RecordLink.Init();
RecordLink.Company := CompanyName();
RecordLink.Type := RecordLink.Type::Note;
RecordLink.Created := CurrentDateTime;
RecordLink."User ID" := UserId();
RecordLink."Link ID" := LastEntryNo;
RecordLink."Record ID" := IncomingRecordID;
LinkManagement.WriteNote(RecordLink, NoteText);
RecordLink.Insert(true);
end;
procedure GetLastEntryNo()
var
RecordLink: Record "Record Link";
begin
if RecordLink.FindLast() then
LastEntryNo := RecordLink."Link ID"
else
LastEntryNo := 0;
end;
var
LastEntryNo: Integer;
}