From 3538f6e9cd989de5a106fcadc486f15c1bab5983 Mon Sep 17 00:00:00 2001 From: Rui Martins Date: Wed, 1 Jul 2026 13:26:22 +0200 Subject: [PATCH 1/3] Fix agent setup field lookup casing Use a case-insensitive Field virtual table lookup when validating agent setup pages so setup tables with a differently-cased User Security ID field can still open. AB#640664 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al b/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al index 34d625c724..8d13628fb9 100644 --- a/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al +++ b/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al @@ -533,7 +533,7 @@ codeunit 4301 "Agent Impl." SetupPageRecordRef.Open(PageMetadata.SourceTable, PageMetadata.SourceTableTemporary); FieldMetadata.SetRange(TableNo, PageMetadata.SourceTable); - FieldMetadata.SetRange(FieldName, UserSecurityIdTok); + FieldMetadata.SetFilter(FieldName, '@' + UserSecurityIdTok); if not FieldMetadata.FindFirst() then Error(SetupPageSourceTableMissingFieldErr, SetupPageId, UserSecurityIdTok); From 8ec16958b04aae5f86d6cfbc1376ac3c0fe375c2 Mon Sep 17 00:00:00 2001 From: Rui Martins Date: Wed, 1 Jul 2026 15:11:19 +0200 Subject: [PATCH 2/3] Escape UserSecurityIdToken on SetFilter --- src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al b/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al index 8d13628fb9..9d85e3e011 100644 --- a/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al +++ b/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al @@ -533,7 +533,7 @@ codeunit 4301 "Agent Impl." SetupPageRecordRef.Open(PageMetadata.SourceTable, PageMetadata.SourceTableTemporary); FieldMetadata.SetRange(TableNo, PageMetadata.SourceTable); - FieldMetadata.SetFilter(FieldName, '@' + UserSecurityIdTok); + FieldMetadata.SetFilter(FieldName, '@''%1''', UserSecurityIdTok); if not FieldMetadata.FindFirst() then Error(SetupPageSourceTableMissingFieldErr, SetupPageId, UserSecurityIdTok); From a4f8cc9a6eeb275649c39dd276d8a0fd70c26e8c Mon Sep 17 00:00:00 2001 From: Rui Martins Date: Wed, 1 Jul 2026 15:44:53 +0200 Subject: [PATCH 3/3] Fix the filter --- src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al b/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al index 9d85e3e011..0c54c8a183 100644 --- a/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al +++ b/src/System Application/App/Agent/Setup/AgentImpl.Codeunit.al @@ -533,7 +533,7 @@ codeunit 4301 "Agent Impl." SetupPageRecordRef.Open(PageMetadata.SourceTable, PageMetadata.SourceTableTemporary); FieldMetadata.SetRange(TableNo, PageMetadata.SourceTable); - FieldMetadata.SetFilter(FieldName, '@''%1''', UserSecurityIdTok); + FieldMetadata.SetFilter(FieldName, StrSubstNo('@%1', UserSecurityIdTok)); if not FieldMetadata.FindFirst() then Error(SetupPageSourceTableMissingFieldErr, SetupPageId, UserSecurityIdTok);