New entity xreference identifiers can be inserted into the RULESDBO.ENTITY_XREFERENCE DB table with Generic Entity interface. For the newly added identifiers only 'Find 1st Match' mode of Entity Resolution logic can be used.
Insert New Entity XREF Record Full example for insert (click to expand):
<EagleML xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" eaglemlVersion="2-0" eaglemlType="EntityTransactionMessage" xsi:schemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-main-2-0.xsd" xsi:type="EntityTransactionMessage">
<header>
<messageId messageIdScheme="http://www.eagleinvsys.com/coding-scheme/message-id-2-0">TEST</messageId>
</header>
<entityTransaction>
<header>
<objectType>GenericEntity</objectType>
</header>
<genericEntity>
<objectType>GenericEntity</objectType>
<objectId>GenericEntity</objectId>
<objectDescription>ENTITY</objectDescription>
<sourceName>EAGLE PACE</sourceName>
<updateSource>MCADMIN</updateSource>
<entityId>ASXR_E01</entityId>
<entityName>ASXR_E01</entityName>
<entityType>PORT</entityType>
<entityXrefs>
<entityXref>
<xrefAccountId>ASXR_E01_XREF1</xrefAccountId>
<xrefAccountIdType>XREF101</xrefAccountIdType>
<classCode>TF1</classCode>
</entityXref>
</entityXrefs>
<effectiveDate>2018-05-25</effectiveDate>
<accountingBasis>USTAX</accountingBasis>
<accSysOpeningDate>2018-05-25</accSysOpeningDate>
<baseCurrency>USD</baseCurrency>
<costMethod>I</costMethod>
<countryOfTax>US</countryOfTax>
<entityLongName>ASXR_E01</entityLongName>
<fiscalEndDate>2018-05-25</fiscalEndDate>
<gainLossPydn>N</gainLossPydn>
<inceptionDate>2018-05-25</inceptionDate>
<legalName>ASXR_E01</legalName>
<lotSelectionMethod>FIFO</lotSelectionMethod>
<conversionDt>2018-05-25</conversionDt>
<fxSource>EAGLE PACE</fxSource>
<priceSource>EAGLE PACE</priceSource>
<varRateSource>EAGLE PACE</varRateSource>
<espShortPriceSource>EAGLE PACE</espShortPriceSource>
<entityPartitionAssignment>1</entityPartitionAssignment>
<cashSuspenseProc>N</cashSuspenseProc>
<acctBasis>
<acctBasis>USTAX</acctBasis>
<costMethodCash>I</costMethodCash>
<sinkFundGainLossFlag>Y</sinkFundGainLossFlag>
<primaryAmortizationAccreationRule>DEFAULTNONE</primaryAmortizationAccreationRule>
<contractualCashSettlementRule>DEFAULTNONE</contractualCashSettlementRule>
<mtmRateSource>EAGLE PACE</mtmRateSource>
<xrateValSource>EAGLE PACE</xrateValSource>
<valuePacePosAtCostFlag>N</valuePacePosAtCostFlag>
</acctBasis>
</genericEntity>
</entityTransaction>
</EagleML>
You can use Generic Entity interface without Accounting Validation Flag. Entity batting order and entity resolution option are not required and can be omitted in the incoming message.
...
<entityId>ASXR_E01</entityId>
<entityName>ASXR_E01</entityName>
<entityType>PORT</entityType>
<entityXrefs>
<entityXref>
<xrefAccountId>ASXR_E01_XREF1</xrefAccountId>
<xrefAccountIdType>XREF101</xrefAccountIdType>
<classCode>TF1</classCode>
</entityXref>
</entityXrefs>...
1 record will be added to ENTITY_XREFERENCE table with Xref Id = ASXR_E01_XREF1 and Type = XREF101
Update the Entity XREF Record To update Entity Xreference with type = XREF101 use the following construction:
...
<entityId>ASXR_E01</entityId>
<entityName>ASXR_E01</entityName>
<entityType>PORT</entityType>
<entityXrefs>
<entityXref>
<xrefAccountId>ASXR_E01_XREF2</xrefAccountId>
<xrefAccountIdType>XREF101</xrefAccountIdType>
<classCode>TF1</classCode>
</entityXref>
</entityXrefs>
...
Full example for update (click to expand):
<EagleML xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" eaglemlVersion="2-0" eaglemlType="EntityTransactionMessage" xsi:schemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-main-2-0.xsd" xsi:type="EntityTransactionMessage">
<header>
<messageId messageIdScheme="http://www.eagleinvsys.com/coding-scheme/message-id-2-0">TEST</messageId>
</header>
<entityTransaction>
<header>
<objectType>GenericEntity</objectType>
</header>
<genericEntity>
<objectType>GenericEntity</objectType>
<objectId>GenericEntity</objectId>
<objectDescription>ENTITY</objectDescription>
<sourceName>EAGLE PACE</sourceName>
<updateSource>MCADMIN</updateSource>
<entityId>ASXR_E01</entityId>
<entityName>ASXR_E01</entityName>
<entityType>PORT</entityType>
<entityXrefs>
<entityXref>
<xrefAccountId>ASXR_E01_XREF2</xrefAccountId>
<xrefAccountIdType>XREF101</xrefAccountIdType>
<classCode>TF1</classCode>
</entityXref>
</entityXrefs>
<effectiveDate>2018-05-25</effectiveDate>
<accountingBasis>USTAX</accountingBasis>
<accSysOpeningDate>2018-05-25</accSysOpeningDate>
<baseCurrency>USD</baseCurrency>
<costMethod>I</costMethod>
<countryOfTax>US</countryOfTax>
<entityLongName>ASXR_E01</entityLongName>
<fiscalEndDate>2018-05-25</fiscalEndDate>
<gainLossPydn>N</gainLossPydn>
<inceptionDate>2018-05-25</inceptionDate>
<legalName>ASXR_E01</legalName>
<lotSelectionMethod>FIFO</lotSelectionMethod>
<conversionDt>2018-05-25</conversionDt>
<fxSource>EAGLE PACE</fxSource>
<priceSource>EAGLE PACE</priceSource>
<varRateSource>EAGLE PACE</varRateSource>
<espShortPriceSource>EAGLE PACE</espShortPriceSource>
<entityPartitionAssignment>1</entityPartitionAssignment>
<cashSuspenseProc>N</cashSuspenseProc>
<acctBasis>
<acctBasis>USTAX</acctBasis>
<costMethodCash>I</costMethodCash>
<sinkFundGainLossFlag>Y</sinkFundGainLossFlag>
<primaryAmortizationAccreationRule>DEFAULTNONE</primaryAmortizationAccreationRule>
<contractualCashSettlementRule>DEFAULTNONE</contractualCashSettlementRule>
<mtmRateSource>EAGLE PACE</mtmRateSource>
<xrateValSource>EAGLE PACE</xrateValSource>
<valuePacePosAtCostFlag>N</valuePacePosAtCostFlag>
</acctBasis>
</genericEntity>
</entityTransaction>
</EagleML>
Xref Account Id will be updated from ASXR_E01_XREF1 to ASXR_E01_XREF2.
It is also possible to update Xrefs via Acсounting Entity rule (with Accounting Validation Flag = Y), the logic is the same.