Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Transaction ID mismatch - Data in UI screen is not getting saved

SA-23275

Summary



The data in the UI screen does not always in database. The logfile shows transaction ID for frame 'ActionFrame' does not match record.This issue is sporadically affecting end users, who re-enter the data and submit again to save it.

Error Messages



ERROR: posted transaction id '3c442cbfd0b5921dd041c527e3cff48b' for frame 'ActionFrame' DOES NOT match record '5ac1e790e56798170d005af59e8a5aa5'

Steps to Reproduce



Not Applicable 

Root Cause



A defect in Pegasystems’ code or rules. PRPC creates frames in the UI based on the application design. Every operation / event that user performs it creates a request and passes to server. Every request carries transaction id. If the request has db commits, then the transaction id of that request carried will be verified before doing commit into DB. If it mismatches then the transaction id mismatch error will be thrown. The mismatch generally happens in the following scenarios. Let’s assume R1 and R2, two requests are created simultaneously:

By the time R2 is created, R1 reaches the server.

R1 Statistics:
------------------
Server received at time:             05:05:05.234
Server sends response at time:  05:05:05.934


Assume that R2 reached server at time: 05:05:05.526

In the above scenario, R1 and R2 carry the same transaction id. However, R1 db commit is done and the db will be updated with new transaction id. R2 carries the old id, PRPC engine throws transaction id error.


Resolution



Perform the following local-change: Please create a non-auto generated section and paste the following code and embed the section at the end of a section causing the behaviour.

<script>
var newurl = SafeURL_createFromURL(pega.u.d.url);
newurl.put('pzFromFrame','');
pega.u.d.url = newurl.toURL();   
var url = document.forms[0].action;   
var formURL = SafeURL_createFromURL(url);  
formURL.put('pzFromFrame','');   
document.forms[0].action= formURL.toURL();
</script>


 

Published May 17, 2016 - Updated October 8, 2020

Was this useful?

100% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice