Easy way to Audit your DML transactions in Apex
Often (if not ALWAYS) you'll want to know whom inserted or updated a record in your table, from your Apex application. There may be many ways to do this, but the easiest I've found is to use a simple PL/SQL anonymous block process, to capture the logged in username from the Apex session cookie, and pass this to a form field. Of course, you'll want to add the necessary columns to your table to store these values and include them with your DML transaction.
On your form, add a PL/SQL anonymous block process that runs at any point prior to the DML transaction.
Here is the code:
declare xcookie owa_cookie.cookie; begin xcookie := owa_cookie.get('LOGIN_USERNAME_COOKIE'); :AUDIT_USER := xcookie.vals(1); end;
You can even choose to display the field on the page, as a subtle warning to the user that you are auditing this transaction. To do this, make sure the Process runs prior to printing your Regions.