Simple Object Designer Documentation
Index

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:

  1. SOD checks all mandatory rules for that action
  2. Each rule evaluates a condition
  3. If any condition fails, the action is blocked
  4. 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

  1. Open Tasks > Mark fields as mandatory on actions
  2. Opens the Global Page Action List

From Page Customization

  1. Open Inspect > Pages > Select page > Customize Page
  2. Click Mandatory Fields action
  3. 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