Hallo,
die Transaktion muss mit finish abgeschlossen werden. Für die finish benötigt man nur clientId, Transaktionsnummer, die man ja bekommt, processData und processType.
Mit besten Grüßen
Revout
Hallo,
die Funktion
WORMAPI WormError WORMAPI_CALL worm_transaction_finish
( WormContext * context,
const char * clientId,
worm_uint transactionNumber,
const unsigned char * processData,
worm_uint processDataLength,
const char * processType,
WormTransactionResponse * response // <<- hier
)
hat aber den Parameter response
Setze ich den Null ( d.h. 0 in Delphi) geht die Funktion fehl.
Was kann ich da tun ?
Mfg
)
Hallo,
leider kann ich mit Delphi nicht helfen, aber 0 ist es nicht richtig. Es wird eine Referenz erwartet. Wenn dann nil nicht 0.
MbG
Die Funktion erwartet kein vorher befülltes Objekt, sondern benötigt nur die transactionNumber um die zugehörige "Starttransaktion" zu finden. Die response ist in dem Fall nur eine per worm_transaction_response_new (WormContext *context) neu erzeugte "leere" Transaktion, welche von Finish mit den jeweiligen Daten befüllt wird.
Hallo zusammen,
ich habe auch festgestellt, dass es vorkommen kann, dass zu verwaisten Transaktionen durch Abstürze etc. kommen kann.
Wie geht ihr damit um? Ich kann sie ja problemlos mit FinishTransaktion abschließen.
Aber mit welchem Inhalt?
ProcessType = 'Kassenbeleg-V1' und
ProcessData = 'AVBelegabbruch^0.00_0.00_0.00_0.00_0.00^'
oder gibt es in diesem speziellen Fall noch einen extra Inhalt für dieses Transaktion?
Es gibt ja noch sonstiger Vorgang, aber was sollte man da in die Processdata schreiben?
ProcessType = 'Sonstiger Vorgang'
ProcessData = ?
Vielen Dank
Matthias
Andreas Rentsch
Hallo,
wenn die Funktion
worm_transaction_listStartedTransactions
am Ende des Tages eine Liste von verwaisten Transaktionsnummern übergibt,
die (WICHTIG!) wegen Programm- oder rechnerabsturz verwaist sind,
habe ich dann eine Chance, diese nachträglich abzuschießen ?
Geht das nur mit worm_transaction_finish() ?
Dazu brauche ich aber ein Response - Objekt, wobei auch die Responseobjekte der Waisen ja schon im Nirvana sind...
Oder kann ich beim Starten einer Transaktion mir neben dem Original-Responseobjekt eine eigene
"Fälschung" zulegen, die dann beim Beenden benutzt werden kann ?