Skip to content

[US] Remove XML DOM Management usage from IRS Forms (IRIS) - #12646

Draft
Darrick (darjoo) wants to merge 1 commit into
darjoo-xml-dom-s0-replacement-apifrom
darjoo-xml-dom-s7-us-irs-forms
Draft

Darrick (darjoo) wants to merge 1 commit into
darjoo-xml-dom-s0-replacement-apifrom
darjoo-xml-dom-s7-us-irs-forms

Conversation

@darjoo

Copy link
Copy Markdown
Contributor

What & why

Part of retiring Base App codeunit 6224 "XML DOM Management". The US IRS Forms app used it in Helper IRIS (codeunit 10035) for two calls only; both are replaced by the System Application codeunit 3016 "XML Utilities" (System.Xml) introduced in #12629:

Before After
XMLDOMManagement.GetUTF8BOMSymbols() XMLUtilities.GetUtf8BomSymbols()
XMLDOMManagement.TryGetXMLAsText(InStream, Text) XMLUtilities.TryGetXmlAsText(InStream, Text)

TryGetXmlAsText keeps the exact same implementation (DotNet XmlDocument, PreserveWhitespace(false), Load, OuterXml, empty-stream error) and is still a [TryFunction] whose return value is ignored, so WriteTempBlobToText — which produces the IRIS transmission / status request payload sent to the IRS and the parsed responses/acknowledgements — returns identical text. GetUtf8BomSymbols returns U+FEFF in both cases. No DotNet is added to the app, no public signatures change, and no other file in the app, test library or test project references XML DOM Management.

Depends on #12629 (stacked on darjoo-xml-dom-s0-replacement-api).

Linked work

Fixes AB#649587

How I validated this

  • I read the full diff and it contains only changes I intended.
  • I built the affected app(s) locally with no new analyzer warnings.
  • I ran the change in Business Central and confirmed it behaves as expected.
  • I added or updated tests for the new behavior, or explained below why none are needed.

What I tested and the outcome

CI build jobs don't run on PRs based on a non-main branch, so compiled locally without a container (all BC local container pool slots were leased):

  • Built System Application from this branch: alc.exe /project:"src\System Application\App" /packagecachepath:<platform System.app> /assemblyprobingpaths:<ServiceTier\Service> → succeeded.
  • Compiled IRS Forms from this branch and from the base commit (git archive 1165b6e0) with CodeCop + UICop against the US 30.0.55871.0 artifact (Application, Base Application, Business Foundation, Exclude_Business_Events) plus the branch System Application: alc.exe /project:src\Apps\US\IRSForms\app /packagecachepath:<pcus> /assemblyprobingpaths:<Service> /analyzer:CodeCop /analyzer:UICop → both exit 0; diagnostics identical (32 vs 32, no new warnings/errors).
  • No new tests: the change swaps calls to procedures with identical bodies; existing coverage is IRS 1099 IRIS Tests (148022).

Risk & compatibility

None expected. Output of the IRIS XML payload is unchanged. Requires #12629 to be merged first.

Replace codeunit 6224 'XML DOM Management' calls in Helper IRIS with
System Application codeunit 'XML Utilities' (GetUtf8BomSymbols,
TryGetXmlAsText), which have identical implementations.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the Team: Finance GitHub request for Finance area label Oct 10, 2026

This branch was successfully deployed

1 active deployment
triage — a4398288 Deployed Oct 10, 2026 by darjoo via Classify team ownership #7373
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Team: Finance GitHub request for Finance area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant