[Gelöst] Transaktionstyp

15. April 2020 10:27

Hallo zusammen,

ich versuche eine Datenübernahme von FA's aus einem anderen System zu übernehmen. Die Kopfdaten stellen kein Problem dar. Die Aktualisierung der FA's macht mir Probleme. Ich bekomme folgende Fehlermeldung:

Nach dem Start einer Transaktion kann der Transaktionstyp nicht mehr geändert werden.
Eine Transaktion startet, wenn der erste Datenbankvorgang ausgeführt wird (beispielsweise FIND, NEXT, INSERT, DELETE, MODIFY, SUM oder COUNT).
Der Fehler ist aufgetreten, da der Transaktionstyp von UpdateNoLocks in Update geändert wurde.

Code:
ProdOrder2.SETRANGE(Status,ProductionOrder.Status);
ProdOrder2.SETRANGE("No.",ProductionOrder."No.");
COMMIT;
REPORT.RUN(REPORT::"Refresh Production Order",FALSE,TRUE,ProdOrder2);

Hat jemand eine Lösung oder Tipp?
Zuletzt geändert von umknix am 15. April 2020 12:30, insgesamt 2-mal geändert.

Re: Transaktionstyp

15. April 2020 11:01

hi,

hier mal eine Mögliche Lösung:
https://forum.mibuso.com/discussion/39336/changing-transaction-type-from-updatenolocks-to-update

Re: Transaktionstyp

15. April 2020 12:28

Vielen Dank!
Das hilft mir erst schonmal weiter (ich übe das noch mit dem Googeln...). Bleibt die Frage, warum diese Einstellung genau so gewählt ist?
Für die Datenübernahme reicht das aber erstmal :-)

Re: Transaktionstyp

15. April 2020 19:14

umknix hat geschrieben:Das hilft mir erst schonmal weiter (ich übe das noch mit dem Googeln...). Bleibt die Frage, warum diese Einstellung genau so gewählt ist?

ja, googlen ist wichtig ;) - mehr kann ich auch nicht :P
die Einstellung UpdateNoLocks ist default

https://docs.microsoft.com/en-us/dynamics-nav/transactiontype-property


--> hier warum es gewählt ist:
This transaction type improves concurrency for all tables that users access within the transaction by delaying locking as much as it can. However, the disadvantage is that you must know when to lock the tables for the required transaction behavior.