Scheduled agent produces unexpected results after upgrade to r6

We recently upgraded our servers from r5 to r6, and have noticed a difference in the results some of our scheduled agents produce.Here are the details …

We have many dbases where access is controlled on the document level. These dbases include parents and children (main documents & responses).

Every night, we run an agent that verifies and modifies the access on the children, based on access on the parent document.

Although the agent is set to run on all documents in the dbase. until version 6, only documents where the access fields were actually modified came back as unread (ie. if there were no changes in access to the parent, no changes were needed on the children and the document was unchanged by the agent).

In r6, the agent returns every document in the dbase as modified (we’re talking about 30,000 docs per dbase).

These dbases are replicated by many users.

Can anyone suggest an elegant way to maintain consistent access control on the parent and children, w/out so much overhead?

Thank you, Maria.

Subject: scheduled agent produces unexpected results after upgrade to r6

That’s happening because you have something like this going on:

FIELD Fieldname := Fieldname;

@If(Condition; @SetField(“Fieldname”;NewValue);“”)

In R5, the FIELD keyword didn’t do anything unless a new value was written, while in ND6 it causes the field to be overwritten with its current value. ND 6 does not need to have the field “declared” before @SetField is used, so you can safely delete any lines in the agent that are just:

FIELD Fieldname := Fieldname;