I faced this issue during a technical investigation. There was an error message prompting in the application.
"Invoice.ACCERROR1: Error (The Voucher Row object already exists.) occurred while booking Invoice CN xxxxxx"
After copying the PLSQL Details, pasted it in the Test Window and ran it. The error message came as same as shown in the app. While debugging there was a requirement of inserting traces using Dbms_output. The packages that I inserted were Voucher_Row_API, INVOICE_API and Voucher_Util_Pub_API.
The traces were inserted and compiled without any issues. They worked fine for a while. But in the middle of the investigation, the error message changed to
"Invoice.ACCERROR1: Error (could not find program unit being called) occurred while booking Invoice CN xxxxxx."
As you can see the text inside the bracket changed from ' The Voucher Row object already exists' to 'could not find program unit being called'.
This also changes the error stack.
Why is this happening and is there a way to fix this.