Interaction with SDE in Oracle on non-versioned editing

585
5
03-16-2018 04:53 AM
DanielIrwin
New Contributor III

Hi there,

Trying to edit some content in ArcMap 10.5.1 which is coming from an Oracle Geodatabase with SDE configured and the table registered.  The table is not versioned so have turned off the versioning in editing options, and disabled the automatic save after each edit option (see below).

There is a trigger associated with the table that populates a number of fields automatically based on a key field that is populated within the edit session, and archive the record into another table if certain fields have changed.  So my understanding is that the trigger would only fire when I hit Save Edits, and yet it seems to trigger as soon as I edit the record.  Does this mean that the changes are passed back to the geodatabase as soon as I make them, but no commit is actioned until the Save Edit option is selected, or is something else going on?

The reason I ask is that the user wants to make multiple edits potentially to the record before committing, but the trigger is activating after every change and resulting in large numbers of records hitting the archive table when they shouldn't.

Any help greatly appreciated.

Dan

0 Kudos
5 Replies
TinaMorgan1
Occasional Contributor II

This may answer your question...

A quick tour of working with nonversioned data—ArcGIS Help | ArcGIS Desktop 

"Editing nonversioned data that is stored in an enterprise geodatabase is the equivalent of performing standard database transactions. You perform a transaction within the scope of an ArcMap edit session. You start the edit session and perform the required operations, such as adding, deleting, or moving features and updating attributes. When you save your edits, the edits you made are committed to the geodatabase as a single transaction. If you don't want to commit the changes to the geodatabase, you must quit the edit session without saving. This eliminates all the edits you made since you opened the edit session or since your last save. Each transaction can include as few or as many operations as required, provided they fall within a single edit session.

When you edit nonversioned data in an ArcMap edit session, you edit the data source directly; nonversioned edit sessions do not store the changes in other tables like versioned edit sessions do. This avoids the overhead of managing these extra tables and allows you to easily adapt third-party applications so that they can read and edit the data. However, the drawback is that since you edit the data source directly, you cannot undo or redo an individual edit if you make a mistake. The only way to undo edits is to undo all edits by quitting the edit session without saving."

TinaMorgan1
Occasional Contributor II
0 Kudos
SeanJones
Esri Regular Contributor

I'll add, unchecking 'Automatically save changes after each edit' starts a transaction on the non versioned table when you start editing. Edits occur directly on the table without the ability to undo/redo. Triggers and stored procedures fire normally, as you may need them to maintain database integrity while you are making changes in this transaction. Nobody else should be able to see the changes you make until you commit the transaction (save edits or stop editing with save). Stop editing without saving rolls back the transaction.

venaktesa_kumarNatarajan
New Contributor III

Hi,

I am looking for the same option in ArcGIPro but couldn't find.

any idea?

0 Kudos
SeanJones
Esri Regular Contributor

That option is not available in Pro as yet.

0 Kudos