Mandatory Fields Overview
Mandatory field rules enforce data quality by requiring certain fields to have values before page actions can execute. This page introduces the mandatory fields feature.
What Are Mandatory Field Rules
Mandatory field rules are conditions that must be satisfied before users can execute page actions. When a rule is violated:
- The action is blocked
- An error message displays
- The user must provide required values
Where Mandatory Rules Run
Rules attach to page actions, such as:
- Post - Posting documents
- Release - Releasing orders for processing
- Send - Sending documents
- Print - Printing reports
- Custom actions - Any action on the page
How Mandatory Rules Work
Rule Evaluation
When a user clicks an action:
- SOD checks all mandatory rules for that action
- Each rule evaluates a condition
- If any condition fails, the action is blocked
- User sees which fields need attention
Visual Indicator
Fields with mandatory rules show a red asterisk (*) to indicate they require values.
Rule Components
Each mandatory rule consists of:
| Component | Description |
|---|---|
| Page | The page where the rule applies |
| Action | The action that triggers validation |
| Field Location | Main Table or Sub Table (lines) |
| Field | The field being validated |
| Operator | The comparison type |
| Expression (Right side) | The value or expression to compare against |
| Error Message | Text shown when the rule fails |
| Message Style | Error, Message, or Confirm |
Comparison Operators
The full operator list available on the rule:
| Operator | Description | Example |
|---|---|---|
= |
Field equals value | Rec."Status" = 'Open' |
<> |
Field does not equal value | Rec."Status" <> 'Blocked' |
> |
Greater than | Rec."Amount" > 0 |
< |
Less than | Rec."Discount %" < 100 |
>= |
Greater than or equal | Rec."Quantity" >= 1 |
<= |
Less than or equal | Rec."Priority" <= 5 |
Contains |
Text field contains value | Rec."Description" contains 'urgent' |
not Contains |
Text field does not contain value | Rec."Description" not contains 'draft' |
Text Length = |
Length of text equals value | strlen(Rec."Code") = 8 |
Text Length <> |
Length of text does not equal value | strlen(Rec."Code") <> 0 |
Text Length > |
Length of text greater than | strlen(Rec."Description") > 0 |
Text Length < |
Length of text less than | strlen(Rec."Notes") < 500 |
To require a field to be non-blank, use <> against the appropriate empty value ('' for text/code, 0 for numbers, 0D for dates) or use Text Length > with 0.
Common Use Cases
Require Customer Contact
Ensure orders have a contact person before release:
- Page: Sales Order
- Action: Release
- Field: Contact Name
- Operator:
<> - Right side:
''
Require Payment Terms
Prevent posting without payment terms:
- Page: Sales Invoice
- Action: Post
- Field: Payment Terms Code
- Operator:
<> - Right side:
''
Validate Amount Threshold
Require approval for large amounts:
- Page: Purchase Order
- Action: Release
- Field: Amount
- Operator:
<= - Right side:
10000
Ensure Required Codes
Require dimension codes:
- Page: Sales Order
- Action: Post
- Field: Shortcut Dimension 1 Code
- Operator:
<> - Right side:
''
Accessing Mandatory Fields
From Main Menu
- Open Tasks > Mark fields as mandatory on actions
- Opens the Global Page Action List
From Page Customization
- Open Inspect > Pages > Select page > Customize Page
- Click Mandatory Fields action
- Opens rules for that specific page
Understanding the Global Page Action List
This page shows all actions that can have mandatory rules:
Columns
| Column | Description |
|---|---|
| Page No. | Page ID |
| Page Name | Page name |
| Action Name | Action identifier |
| Action Caption | User-visible action label |
| Kind | Action type |
| Field Condition Count | Number of rules on this action |
Filtering
- Filter by Page to see one page's actions
- Filter by Kind to see specific action types
- Filter by Field Condition Count > 0 to see actions with rules
Supported Action Types
Mandatory rules work on various action types:
- Standard actions (Post, Release, Print)
- Custom actions defined on pages
- Promoted actions
- Action groups
Some system actions may not support mandatory rules.
Rule Behavior
Single Rules
One rule per field/action combination:
- Customer Name is required for Release
- Validates when user clicks Release
Multiple Rules
Multiple rules on the same action:
- Customer Name is required AND
- Payment Terms is required AND
- Amount > 0
- All must pass for action to proceed
Rule Independence
Rules evaluate independently:
- If rule A fails, rule B still evaluates
- User sees all failures at once
- Can fix multiple issues before retrying
Benefits of Mandatory Fields
Data Quality
- Ensures complete records
- Prevents missing critical information
- Enforces business standards
User Guidance
- Clear indication of required fields
- Immediate feedback when clicking actions
- Reduces downstream errors
Process Compliance
- Enforce workflows
- Require approvals
- Maintain audit trails
Limitations
What Rules Can't Do
- Cross-table validation (use custom code for this)
- Complex logic involving multiple records
- External system validation
- Reference non-global dimensions — only Global Dimension 1, Global Dimension 2 and Dimension Set ID are available as condition fields
Note that a field can be made mandatory conditionally, including on a compound AND condition across several fields. See Advanced Rules.
Scope
- Rules apply per page, not globally
- Same field may need rules on multiple pages
- Some system actions cannot be extended