[gelöst] Änderung des Transaktionstyp SQL-Server

14. April 2011 11:23

Hi Community,

ich würde den Report zum Aktualisieren der FA gern automatisieren, solll heißen den Report aufrufen ohne Requestform. Wenn ich das jedoch wie folgt mache:

Code:
//Standard
ProdOrder.SETRANGE(Status,Status);
ProdOrder.SETRANGE("No.","No.");
REPORT.RUNMODAL(REPORT::"Refresh Production Order",TRUE,TRUE,ProdOrder);

//Anpassung
ProdOrder.SETRANGE(Status,Status);
ProdOrder.SETRANGE("No.","No.");
REPORT.RUNMODAL(REPORT::"Refresh Production Order",FALSE,TRUE,ProdOrder);


bekomme ich immer die Fehlermeldung:
"Sie können den Transaktionstyp nach dem Start der Transaktion nicht ändern. Eine Transaktion startet, wenn das Programm die erste Datenbankoperation ausführt, z. B. FIND, NEXT, INSERT, DELETE...
Der Fehler ist aufgetreten, weil Sie versucht haben, den Transaktionstyp von 'UpdateNoLocks' in 'Update' zu ändern.

-> Lässt man den Report mit gleichem Code ein zweites Mal aufrufen, läuft alles fehlerfrei durch :?: Kann ich die Transaktionsänderung irgendwie umgehen?

Danke und Gruß

Bluefeet
Zuletzt geändert von Bluefeet am 14. April 2011 11:51, insgesamt 1-mal geändert.

Re: Änderung des Transaktionstyp SQL-Server

14. April 2011 11:51

Manchmal sieht man den Wald vor lauter Bäumen nicht, es lag natürlich an den unterschiedlichen Transaktionen auf die Tabelle Production Oder.
Ich habe jetzt einfach ein COMMIT gesetzt, um die erste Transaktion zu beenden und kann dann den Report mit der schärferen Sperre "UPDATE" starten.

Code:
ProdOrder.INIT;
ProdOrder.SETRANGE("No.","Requisition Line"."Prod. Order No.");
COMMIT;
REPORT.RUN(REPORT::"Refresh Production Order",FALSE,TRUE,ProdOrder);