Skip to content

[6xx] FpML to CDM flattened ingestion functions#4776

Open
davidalk wants to merge 8 commits into
finos:6.x.xfrom
rosetta-models:flattened-fpml-6xx
Open

[6xx] FpML to CDM flattened ingestion functions#4776
davidalk wants to merge 8 commits into
finos:6.x.xfrom
rosetta-models:flattened-fpml-6xx

Conversation

@davidalk
Copy link
Copy Markdown
Contributor

@davidalk davidalk commented May 28, 2026

Infrastructure - Dependency Update

Version updates include:

  • Bundle 11.121.2 - Fixes deserialization of ambiguous XML elements.
  • FpML as Rune 2.0.0 - Flattened model. See FpML as Rune release notes: 2.0.0
  • FpML as Rune 2.1.1 - Deserialization disambiguation support. See FpML as Rune release notes: 2.1.1

FpML Confirmation Ingestion - Flattened FpML Model

What is being released?

This release introduces an updated version of the generated FpML as Rune model, incorporating the structural flattening approach described in issue #4666. The flattened model more closely reflects the structure and hierarchy of the source FpML XML documents, rather than the underlying XSD schema structure.

The release includes:

  • Updates to FpML ingestion mapping functions to operate against the revised input model structure.
  • Refactoring of ingestion logic and supporting functions impacted by the new model layout.
  • Regression and ingestion expectation updates required to support the updated FpML model version.

Review Directions

Changes can be reviewed in PR: #4776

@hugohills-regnosys hugohills-regnosys added the technical Eg DSL, mapping, or reference data update; Individual maintainer may approve; TAWG may be consulted label May 29, 2026
@hugohills-regnosys hugohills-regnosys added this to the 6.21.0 milestone May 29, 2026
@hugohills-regnosys hugohills-regnosys linked an issue May 29, 2026 that may be closed by this pull request
@hugohills-regnosys hugohills-regnosys marked this pull request as ready for review May 29, 2026 10:14
@hugohills-regnosys hugohills-regnosys requested a review from a team as a code owner May 29, 2026 10:14
@hugohills-regnosys
Copy link
Copy Markdown
Contributor

This issue #4666 was approved in the Steering WG and the CRWG.

"optionType" : "Put",
"exerciseTerms" : {
"style" : "American",
"commencementDate" : {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a mapping fix so the Function Ingest now matches the output of Synonym ingest

"optionType" : "Put",
"exerciseTerms" : {
"style" : "American",
"commencementDate" : {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a mapping fix so the Function Ingest now matches the output of Synonym ingest

"globalKey" : "df4b43f4"
}
},
"price" : {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a mapping fix so the Function Ingest now matches the output of Synonym ingest

"globalKey" : "df4b43f4"
}
},
"price" : {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a mapping fix so the Function Ingest now matches the output of Synonym ingest

- }
- } ],
@@ -86,0 +49,3 @@
@@ -86,0 +68,3 @@
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These files compare Function Ingest with Synonym Ingest output. Previously there were diffs between the 2 outputs for these fields, and now they match so the diffs disappear.

- }
- } ],
@@ -86,0 +49,3 @@
@@ -86,0 +68,3 @@
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These files compare Function Ingest with Synonym Ingest output. Previously there were diffs between the 2 outputs for these fields, and now they match so the diffs disappear.

- }
- },
- "perUnitOf" : {
@@ -473,1 +458,3 @@
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These files compare Function Ingest with Synonym Ingest output. Previously there were diffs between the 2 outputs for these fields, and now they match so the diffs disappear.

@@ -31,25 +31,3 @@
+ "intent" : "Clearing",
@@ -283,0 +258,1 @@
+ "assetClass" : "InterestRate",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These files compare Function Ingest with Synonym Ingest output. Previously there were diffs between the 2 outputs for these fields, and now they match so the diffs disappear.

"partyReference" : {
"globalReference" : "b6bdbfc2",
"externalReference" : "p1"
},
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This diff is caused by the inability of the Python code generator to handle a filter on references coming from MapPayerReceiverToAccountPartyReference function. This filter has been commented out for now until the Python generator can handle this syntax.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

technical Eg DSL, mapping, or reference data update; Individual maintainer may approve; TAWG may be consulted

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Updates to FpML structure in CDM

3 participants