Field Change Tracking
Field change tracking is the foundation of the Compliance module. It monitors designated fields for changes and captures detailed information about each modification attempt.
What is Field Change Tracking?
When tracking is enabled for a field:
- Every modification attempt is detected
- Old and new values are captured
- User identity is recorded
- Timestamp is recorded
- Data is stored in the compliance log
Enabling Field Tracking
Prerequisites
- Table must be selected in Compliance Tables (Build phase)
- Extension must be regenerated
- Compliance license must be active
Configuration Steps
- Open Compliance Setup
- Select the table
- Click Fields action
- For each field, set Track Changes = Yes
What Gets Captured
For each tracked change:
| Information | Description |
|---|---|
| Table No. | The table containing the field |
| Field No. | The specific field changed |
| Record ID | Primary key of the record |
| Old Value | Value before the change |
| New Value | Value after the change |
| User ID | Who made the change |
| Timestamp | When the change occurred |
| Company | Which company |
Tracking vs. Approval
Field tracking and approval are separate settings:
| Track Changes | Approval Required | Result |
|---|---|---|
| Yes | No | Logged only, saved immediately |
| Yes | Yes | Logged, requires approval before save |
| No | N/A | No tracking or logging |
Tracking Without Approval
Use for:
- Audit trail requirements
- Low-risk sensitive data
- Monitoring without workflow interruption
Tracking With Approval
Use for:
- High-risk changes
- Regulatory requirements
- Segregation of duties
Commonly Tracked Fields
Financial Fields
| Table | Fields |
|---|---|
| Customer | Credit Limit, Payment Terms, Blocked |
| Vendor | Payment Terms, Blocked, Priority |
| G/L Account | Account Type, Blocked |
Banking Fields
| Table | Fields |
|---|---|
| Customer | Bank Account fields |
| Vendor | Bank Account, IBAN, SWIFT |
| Employee | Bank Account No. |
Personal Data
| Table | Fields |
|---|---|
| Employee | SSN, Birth Date, Address |
| Contact | Personal fields |
How Tracking Works
Detection Mechanism
User Opens Record
↓
User Modifies Tracked Field
↓
OnModify Trigger Fires
↓
ACS Captures Old/New Values
↓
Creates Log Entry
↓
If Approval Required: Hold Change
If Not: Save and Continue
Event Timing
Tracking happens at the table level:
- Before the change is committed
- All modifications are caught
- Works with UI and code modifications
Viewing Tracked Changes
Compliance Log
All tracked changes appear in the Compliance Log:
- Search for Compliance Log
- View all tracked changes
- Filter by table, user, date, etc.
Log Fields
| Column | Description |
|---|---|
| Entry No. | Unique identifier |
| Table Name | Which table was modified |
| Field Name | Which field was changed |
| Old Value | Previous value |
| New Value | New value |
| User ID | Who made the change |
| Date/Time | When it happened |
| Status | Pending, Approved, Rejected, Logged |
Record Context
Each log entry includes record context:
- Primary key values
- Record identification
- Link to source record (if available)
Bulk Changes
When multiple fields are changed at once:
- Each field is logged separately
- Same timestamp and user
- Grouped by transaction
Testing Field Tracking
Test Steps
- Enable tracking for a test field
- Modify the field value
- Check the Compliance Log
- Verify entry appears with correct data
Verify
- Log entry created
- Old value is correct
- New value is correct
- User is correct
- Timestamp is correct
Excluding Changes
When Not to Track
Some changes shouldn't be tracked:
- System-generated updates
- Background job modifications
- Import processes
Configuration Options
You may be able to configure:
- Exclude certain operations
- Exclude system users
- Threshold-based tracking
Field Tracking Best Practices
Select Meaningful Fields
Track fields that:
- Contain sensitive information
- Have compliance requirements
- Need audit trails
- Represent significant business changes
Avoid Over-Tracking
Don't track:
- Low-value fields
- Frequently changing operational data
- Generated/calculated fields
Document Your Tracking
Record:
- Which fields are tracked
- Why they're tracked
- Retention requirements
- Review schedule
Performance Considerations
Impact on Operations
Field tracking adds minimal overhead:
- Trigger-based detection
- Asynchronous logging (typically)
- Indexed log tables
For High-Volume Tables
If tracking high-transaction tables:
- Be selective with tracked fields
- Monitor log growth
- Plan archiving strategy
Data Retention
Log Growth
Compliance log grows over time:
- Plan storage requirements
- Consider archiving old entries
- Meet retention requirements
Archiving
Consider:
- How long to keep entries
- Archive to external storage
- Maintain audit trail integrity
Integration with Approval
When approval is also required:
- Change is tracked (log entry created)
- Approval request is created
- Change is held pending
- Approval/rejection is logged
- Final status updated
Troubleshooting
Changes Not Being Tracked
- Verify field tracking is enabled
- Check table is in Compliance Tables
- Confirm extension was regenerated
- Check compliance license
Log Entries Missing Data
- Verify field configuration
- Check for system user exclusions
- Review log entry details