Target Audience: Developers, UX Designers, Business Analysts, SAP Architects
Reading Time: 6 minutes
Filtering data on a mobile phone has always felt harder than it should. In the first article of this series, we explored why traditional filter bars fall short on small screens and introduced the AI-powered natural language filter in SAP Fiori elements — a capability that lets users simply type or speak what they’re looking for. In this article, we go under the hood and walk through the engine that makes it work.
How It Works: A Three-Stage Architecture
At its core, the AI-powered natural language filter follows a simple three-stage architecture. Each stage plays a distinct role: understanding the user’s intent, aligning that intent with the application context, and producing a precise, executable filter.
Â
Stage 1: Understanding the Query
The first stage focuses on interpreting the user’s request. Whether the input is typed or spoken, the AI analyzes it and breaks it down into three tasks: intent classification, entity recognition, and context enrichment.
Intent Classification
The AI determines the nature of the request. A single query may express one of several intents:
Â
Intent ExampleFiltering”Show me overdue orders“Sorting”Newest first“Search”ACME Corp“
Identifying intent ensures that the query is understood and translated correctly.
Entity Recognition
Once the intent is clear, the AI identifies the meaningful components from the query, such as field names, values, and operators.
Â
TypeExamples Field NamesStatus, Amount, Date, CustomerValuesOverdue, 10000, Last Week, ACMEOperatorsAbove, Below, Between, Equals
This structured breakdown allows the AI to build precise filter conditions, rather than relying on keyword matching.
Context Enrichment
Finally, the AI uses the parsed query to align it with the business context of the application. This includes:
Mapping business terminology to technical field namesResolving relative dates, such as last week and next quarterHandling synonyms and alternate business terminology
Â
Query PhraseInterpretation“Overdue“Maps to status filter”Past due“Interprets as status = Overdue”Last week“Calculates to a specific date range
Stage 2: Aligning Intent with Metadata
Understanding the user’s query is only the first step. To translate that intent into a valid OData filter, the AI translation engine needs to know what the application supports. This is where OData annotations come in. Rather than making assumptions, the AI uses metadata to understand the following:
Available filter fieldsData typesAllowed valuesSemantic meanings
Here’s a sample metadata snippet:
{
“technicalName”: “OverallStatus”,
“label”: “Status”,
“type”: “Edm.String”,
“values”: [“Open”, “InProcess”, “Completed”, “Overdue”]
}
With this metadata, the AI translation engine can now do the following:
Map “status” to the technical field OverallStatusRecognize “Overdue” as a valid valueIdentify that Amount is a currency fieldAssociate the query “Created” with the CreationDate property
Stage 3: Generating the OData Filter
Once the query is understood and mapped with the metadata, the AI translation engine generates the precise OData expressions that the back-end can execute directly.
Here are a few examples of simple queries:
Â
User QueryGenerated OData Filter“Overdue orders “OverallStatus eq ‘Overdue'”Amount above 10000 “GrossAmount gt 10000”Created last week “CreationDate within calculated date range”Customer ACME Corp “substringof(‘ACME’, CustomerName)”Urgent items from purchasing org 1010 “Priority and PurchasingOrganization filters
The AI can also combine multiple conditions into a single, well-formed filter expression.
Here’s how a complex query gets broken down and translated:
Phrase Interpretation Generated OData FilterOverdueStatus filterOverallStatus eq ‘Overdue’Invoices above 50,000Amount comparisonGrossAmount gt 50000EURCurrency filterCurrency eq ‘EUR’From last monthDate range (resolved)CreationDate ge ‘2026-05-01’ and CreationDate le ‘2026-05-31’
What the Filters Can Understand
The AI-powered natural language filter is designed to understand how users express their data. It interprets five categories of queries:
Status and Enum Filters: Enumerated values, such as status, priority, and category, are among the most common filter criteria. The AI recognizes valid business values by referring to value-list annotations in the service metadata. Typical queries include “open orders “, “approved requests “, and “critical priority “.Numeric Comparisons: The numeric operators expressed in natural language, including greater-than, less-than, and range comparisons. Examples include “Amount above 10000 “, “Quantity less than 50 “, and “Between 1000 and 5000 “.
To interpret numeric values for currencies and units correctly, use the following annotations:measures.ISOCurrencymeasures.UnitThese annotations correctly distinguish between values and units.Date and Time Filters: Users mostly think of relative terms such as “last week ” or “this quarter “, rather than exact dates. Such expressions are resolved into concrete date ranges. Common examples include “last week ” and “this month “, as well as specific expressions, such as “after June 1st ” and “Q1 2026 “.
For example, if today is June 24, the phrase “last week ” translates to the range June 17 – June 23.Text Search: Text fields, such as customer names, supplier names, and product names, support exact and fuzzy matching, allowing users to search even when they remember only a part of the value. Queries can include “Customer ACME “, “Supplier contains Steel “, and “PO 4500012345 “.Combined Filters: In a real-world scenario, users often combine multiple criteria in one sentence, and the AI-powered natural language filter identifies all conditions and appends them with the correct logical operators. Common queries include “open orders from customer ACME above 10000 ” or “critical items created this week not assigned to me “.
Voice Input Support
Typing on a mobile phone isn’t always practical for users who are on the move or wearing gloves. To address such scenarios, our AI-powered natural language filter also supports speech-to-text input, allowing users to simply speak their query instead of typing it.
For example, a user might simply say: “Show me overdue purchase orders from purchasing organization 1010.”
Behind the scenes, the request flows through the following four steps:
The spoken query is transcribed into text.The transcribed text is interpreted just like any typed input.The intent is translated into a precise OData filter expression.The filter is applied automatically, and results appear instantly.
Voice input unlocks productivity in the following situations where traditional input methods fall short:
Warehouse workers operating equipment or wearing glovesField sales representatives moving between customer visitsShop-floor managers navigating production areasService technicians performing on-site inspections
Privacy and Data Security
Privacy and data security are foundational to any enterprise AI capability. The AI-powered natural language filter aligns with the enterprise-grade security principles designed by SAP, ensuring that intelligence is delivered without compromising trust or compliance.
Key Security Benefits
Business data is never sent to the AI model. Only the query text and service metadata are processed.Filters are executed directly on the SAP S/4HANA back end, keeping data within your trusted environment.Authorization checks remain fully in effect.AI services run on SAP Business Technology Platform (SAP BTP).No third-party AI providers are involved.
Join the Early Adopter Care (EAC) Program
The SAP Fiori elements mobile phone optimization with AI-powered natural language filter is currently available through our EAC Program.
For business users and managers evaluating this capability for their organization, getting started is straightforward:
Enroll through your SAP account executiveContact the SAP EAC teamAlign your IT organization on adoptionAccess the experience from your mobile using the Joule Work app
Joining the EAC Program delivers real advantages:
Early access to upcoming AI capabilitiesDirect access to the product team, including engineers, product managers, and designersInfluence over future roadmap decisionsAn opportunity to prepare apps before General Availability (GA)
What’s Next in This Series
In the next article, we’ll explore the following:
Mobile-specific UI patternsCard layouts and touch interactionsMobile performance optimizationOffline capabilities
Stay tuned!
Sign up and share your feedback: SAP Customer Influence
Have questions or thoughts? Drop a comment below.
Vignesh Sathi Srikumar is an Engineering Lead on the SAP UX Foundation team. Connect on LinkedIn.
Â
​ Target Audience: Developers, UX Designers, Business Analysts, SAP ArchitectsReading Time: 6 minutesFiltering data on a mobile phone has always felt harder than it should. In the first article of this series, we explored why traditional filter bars fall short on small screens and introduced the AI-powered natural language filter in SAP Fiori elements — a capability that lets users simply type or speak what they’re looking for. In this article, we go under the hood and walk through the engine that makes it work.How It Works: A Three-Stage ArchitectureAt its core, the AI-powered natural language filter follows a simple three-stage architecture. Each stage plays a distinct role: understanding the user’s intent, aligning that intent with the application context, and producing a precise, executable filter. Let’s walk through each stage in detail.Stage 1: Understanding the QueryThe first stage focuses on interpreting the user’s request. Whether the input is typed or spoken, the AI analyzes it and breaks it down into three tasks: intent classification, entity recognition, and context enrichment.Intent ClassificationThe AI determines the nature of the request. A single query may express one of several intents: Intent ExampleFiltering”Show me overdue orders”Sorting”Newest first”Search”ACME Corp”Identifying intent ensures that the query is understood and translated correctly.Entity RecognitionOnce the intent is clear, the AI identifies the meaningful components from the query, such as field names, values, and operators. TypeExamples Field NamesStatus, Amount, Date, CustomerValuesOverdue, 10000, Last Week, ACMEOperatorsAbove, Below, Between, EqualsThis structured breakdown allows the AI to build precise filter conditions, rather than relying on keyword matching.Context EnrichmentFinally, the AI uses the parsed query to align it with the business context of the application. This includes:Mapping business terminology to technical field namesResolving relative dates, such as last week and next quarterHandling synonyms and alternate business terminology Query PhraseInterpretation”Overdue”Maps to status filter”Past due”Interprets as status = Overdue”Last week”Calculates to a specific date rangeStage 2: Aligning Intent with MetadataUnderstanding the user’s query is only the first step. To translate that intent into a valid OData filter, the AI translation engine needs to know what the application supports. This is where OData annotations come in. Rather than making assumptions, the AI uses metadata to understand the following:Available filter fieldsData typesAllowed valuesSemantic meaningsHere’s a sample metadata snippet:{
“technicalName”: “OverallStatus”,
“label”: “Status”,
“type”: “Edm.String”,
“values”: [“Open”, “InProcess”, “Completed”, “Overdue”]
}With this metadata, the AI translation engine can now do the following:Map “status” to the technical field OverallStatusRecognize “Overdue” as a valid valueIdentify that Amount is a currency fieldAssociate the query “Created” with the CreationDate propertyStage 3: Generating the OData FilterOnce the query is understood and mapped with the metadata, the AI translation engine generates the precise OData expressions that the back-end can execute directly.Here are a few examples of simple queries: User QueryGenerated OData Filter”Overdue orders “OverallStatus eq ‘Overdue'”Amount above 10000 “GrossAmount gt 10000″Created last week “CreationDate within calculated date range”Customer ACME Corp “substringof(‘ACME’, CustomerName)”Urgent items from purchasing org 1010 “Priority and PurchasingOrganization filtersThe AI can also combine multiple conditions into a single, well-formed filter expression.Here’s how a complex query gets broken down and translated:Phrase Interpretation Generated OData FilterOverdueStatus filterOverallStatus eq ‘Overdue’Invoices above 50,000Amount comparisonGrossAmount gt 50000EURCurrency filterCurrency eq ‘EUR’From last monthDate range (resolved)CreationDate ge ‘2026-05-01’ and CreationDate le ‘2026-05-31’What the Filters Can UnderstandThe AI-powered natural language filter is designed to understand how users express their data. It interprets five categories of queries:Status and Enum Filters: Enumerated values, such as status, priority, and category, are among the most common filter criteria. The AI recognizes valid business values by referring to value-list annotations in the service metadata. Typical queries include “open orders “, “approved requests “, and “critical priority “.Numeric Comparisons: The numeric operators expressed in natural language, including greater-than, less-than, and range comparisons. Examples include “Amount above 10000 “, “Quantity less than 50 “, and “Between 1000 and 5000 “.To interpret numeric values for currencies and units correctly, use the following annotations:measures.ISOCurrencymeasures.UnitThese annotations correctly distinguish between values and units.Date and Time Filters: Users mostly think of relative terms such as “last week ” or “this quarter “, rather than exact dates. Such expressions are resolved into concrete date ranges. Common examples include “last week ” and “this month “, as well as specific expressions, such as “after June 1st ” and “Q1 2026 “.For example, if today is June 24, the phrase “last week ” translates to the range June 17 – June 23.Text Search: Text fields, such as customer names, supplier names, and product names, support exact and fuzzy matching, allowing users to search even when they remember only a part of the value. Queries can include “Customer ACME “, “Supplier contains Steel “, and “PO 4500012345 “.Combined Filters: In a real-world scenario, users often combine multiple criteria in one sentence, and the AI-powered natural language filter identifies all conditions and appends them with the correct logical operators. Common queries include “open orders from customer ACME above 10000 ” or “critical items created this week not assigned to me “.Voice Input SupportTyping on a mobile phone isn’t always practical for users who are on the move or wearing gloves. To address such scenarios, our AI-powered natural language filter also supports speech-to-text input, allowing users to simply speak their query instead of typing it.For example, a user might simply say: “Show me overdue purchase orders from purchasing organization 1010.”Behind the scenes, the request flows through the following four steps:The spoken query is transcribed into text.The transcribed text is interpreted just like any typed input.The intent is translated into a precise OData filter expression.The filter is applied automatically, and results appear instantly.Voice input unlocks productivity in the following situations where traditional input methods fall short:Warehouse workers operating equipment or wearing glovesField sales representatives moving between customer visitsShop-floor managers navigating production areasService technicians performing on-site inspectionsPrivacy and Data SecurityPrivacy and data security are foundational to any enterprise AI capability. The AI-powered natural language filter aligns with the enterprise-grade security principles designed by SAP, ensuring that intelligence is delivered without compromising trust or compliance.Key Security BenefitsBusiness data is never sent to the AI model. Only the query text and service metadata are processed.Filters are executed directly on the SAP S/4HANA back end, keeping data within your trusted environment.Authorization checks remain fully in effect.AI services run on SAP Business Technology Platform (SAP BTP).No third-party AI providers are involved.Join the Early Adopter Care (EAC) ProgramThe SAP Fiori elements mobile phone optimization with AI-powered natural language filter is currently available through our EAC Program.For business users and managers evaluating this capability for their organization, getting started is straightforward:Enroll through your SAP account executiveContact the SAP EAC teamAlign your IT organization on adoptionAccess the experience from your mobile using the Joule Work appJoining the EAC Program delivers real advantages:Early access to upcoming AI capabilitiesDirect access to the product team, including engineers, product managers, and designersInfluence over future roadmap decisionsAn opportunity to prepare apps before General Availability (GA)What’s Next in This SeriesIn the next article, we’ll explore the following:Mobile-specific UI patternsCard layouts and touch interactionsMobile performance optimizationOffline capabilitiesStay tuned!Sign up and share your feedback: SAP Customer InfluenceHave questions or thoughts? Drop a comment below.Vignesh Sathi Srikumar is an Engineering Lead on the SAP UX Foundation team. Connect on LinkedIn.   Read More Technology Blog Posts by SAP articlesÂ
#SAP
#SAPTechnologyblog