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

System is showing error message after Signature capture

SA-50167

Summary



User has a screen where user can provide the signature. This is done by using Out-of-the-box (OOTB) Capture Signature control.

The issue is when user enters his/her signature and clicks on Accept link available there and then submits the screen, system showing the error.

On tracing it is found that pyStaleTransaction activity is executing in this scenario.


Error Messages



This action is not allowed as it is outside the current transaction.


Steps to Reproduce



1. Create a work object.
2. Navigate to the screen where Signature Capture control is present.
3. Input signature and click on Accept.
4. Click Continue button to go to next screen.


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:

Create a non-auto generated section and paste the following code and embed the section at the end of a section containing the Siganture control:

<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 January 31, 2018 - Updated October 8, 2020

Was this useful?

0% 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?

Want to help us improve this content?

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
Contact us