Simplicty and flexibility!


Modify operation stops after doing 48 records.


Started by Bonnie Clarke
Search
You will need to Sign In to be able to add or comment on the forum!

Modify operation stops after doing 48 records.

Is there some setting I need to change?

We have written procedures to first modify records in a table, and then subsequently delete the modified entries. We decided to do it in two steps out of an abundance of caution, so that the correct entries and only those are removed. This seemed to work smoothly, until we got to a bigger collection of entries. For the particular CliNum there were 165 entries in Agree2. The procedure changed 48 of them and stopped.

Here is the script:

For Agree2 with CliNum = any AgreeDeleteStart CliNum ;

list records

IDCode .

for AgreeParties2

modify records

NameLast := "zzz".

End

Agree2 is the main table, AgreeParties2 is related via CliNum.AgreeDeleteStart is another table related through CliNum, where make just one entry.We run this procedure, another one to delete the changed entries with “zzz”, and four others on related subforms of Agree2.

I don’t understand why this changes 48 entries, then stops.

Is there some global setting that controls this?  am unaware of ever making such a setting.I hope someone might have a clue.

Running the procedure again gets the same result. Only after manually deleting the first 48 entries in Agree2 does this procedure go further – and then just 48 records, again.


Written by Bonnie Clarke 26/07/21 at 16:41:25 Dataease [{8}]FIVE

Re:Modify operation stops after doing 48 records.

There is no limits in DataEase but you might have inadvertently bit your own tail.

Firstly don't mix delete and update in the same DQL. I can't see you have done this but it can catch itself out.
When deleting records in a DQL on a multiuser platform use
For etc..
Delete records.

And not:
delete records in etc..

The last one will only work if all records you try to delete is not used by another user/process.

For Agree2 with CliNum = any AgreeDeleteStart CliNum ;

list records

IDCode .

for AgreeParties2 named "SomethingUnique" with field1=field2 etc. -- this will override any other relationship that might exist

modify records

NameLast := "zzz".

End

I suspect that the problem is that the relationship is more restrictive than you want so by overriding it you will know what relationship you are using by using an adhoc one.

http://www.dataease.com/dg3_HelpView/?PageID=12097&field1=*Named*


Written by DataEase 27/07/21 at 12:12:03 Dataease [{8}]FIVE
DG3_ForumList