- Created by Natalie Gesin, last modified by Dmitry Donosiyan on Nov 15, 2017
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
Version 5 Next »
Overview
Warehouse Trade inbound interface is designed to load and update data in the following database tables:
- TRADESDBO.TRADE
- TRADESDBO.TRADE_DETAIL
Relationship between DB tables TRADESDBO.TRADE and TRADESDBO.TRADE_DETAIL (1:1):
TRADESDBO.TRADE.TRADE_ID = TRADESDBO.TRADE_DETAIL.TRADE_ID
Format of the incoming message: EagleML (WarehouseTrade complex type).
Note
Warehouse Trade is one of the essential EagleML objects types. This means that some object types cannot be loaded into DB without an already existing TRADE record in it. The list of "dependent" types as follows:
- Warehouse Broker Trade Quote
- Warehouse Pending Trade
- Warehouse Close Lot
Stream Logic
EagleML Processing Sequence
Warehouse Trade is loaded into DB via eagle_ml-2-0_default_in_xml_warehouse_preproc in two steps:
- XSLT transformation. XSLT rule 'eagle_default/in/xml/xslt/wrh_egl_gen_interface3.xsl' is used.
- Loading data into the database. The 'eagle_default/in/xml/xml-warehouse_v2.xml' rule is used.
To load or update data in Warehouse Trade database tables send an EagleML message into the eagle_ml-2-0_default_in_xml_warehouse_preproc stream.
Note
<EagleML xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" eaglemlVersion="2-0" eaglemlType="WarehouseTransactionMessage" xsi:schemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-main-2-0.xsd" xsi:type="WarehouseTransactionMessage"> <warehouseTransaction> <header> <batchKey>entity^20150305^EAGLE PACE</batchKey> <objectType>WarehouseTrade</objectType> </header> <warehouseTrade> <objectType>WarehouseTrade</objectType> <objectId>WarehouseTrade</objectId> <sourceName>EAGLE PACE</sourceName> <updateSource>MCADMIN</updateSource> <effectiveDate>2015-03-05</effectiveDate> <xrefAccountId>A1Q2W3R4U5K</xrefAccountId> <xrefAccountIdType>A1Q</xrefAccountIdType> <xrefClassCode>TF4</xrefClassCode> <accountingBasis>GAAP</accountingBasis> <primaryAssetId>CUSIP1A2B3CU</primaryAssetId> <primaryAssetType>CUSIP</primaryAssetType> <cusip>CUSIP1A2B3CU</cusip> <isin>ISIN1A2B3CU</isin> <sicovmId>SICOVMID1A2B3CU</sicovmId> <assetResolutionOption>MATCH_ALL</assetResolutionOption> <battingOrder>cusip,isin,sicovmId</battingOrder> <brokerCode>EAGLE</brokerCode> <clearingBrokerCode>EAGLE</clearingBrokerCode> <status>STATUS</status> <taxAmountLocal>892.561</taxAmountLocal> <commissionAmount>905.482</commissionAmount> <accruedInterest>246.766</accruedInterest> <baseCurrency>USD</baseCurrency> <monthEndAccountingDate>2015-02-18</monthEndAccountingDate> <accruedInterestType>CUM</accruedInterestType> <accruedIncomeLocal>885.587</accruedIncomeLocal> <cancelAccountingDt>2015-02-18</cancelAccountingDt> <cancelMthendAccountingDt>2015-02-18</cancelMthendAccountingDt> <cancelFlag>N</cancelFlag> <cancelStatus>A</cancelStatus> <cancelEffectiveDt>2015-02-18</cancelEffectiveDt> <cancelEventId>TSR80A</cancelEventId> <cancelLinkEventId>TSR80A</cancelLinkEventId> <currBuiltInGlSecurity>663.806</currBuiltInGlSecurity> <currBuiltInGlCurrency>515.099</currBuiltInGlCurrency> <currBuiltInGlDeferred>605.849</currBuiltInGlDeferred> <currBuiltInGlOid>463.521</currBuiltInGlOid> <currBuiltInGlMktDisc>208.855</currBuiltInGlMktDisc> <gainCurrency>537.996</gainCurrency> <gainSecurityLocal>193.128</gainSecurityLocal> <totalGain>893.57</totalGain> <fromAccount>ENTST001</fromAccount> <fromAssetid>24126749</fromAssetid> <fromLongShort>Y</fromLongShort> <fromSourceSystem>Y</fromSourceSystem> <fromCostBasisType>C</fromCostBasisType> <fromWashSaleEligInd>N</fromWashSaleEligInd> <lossCurrency>185.284</lossCurrency> <lossSecurityLocal>768.24</lossSecurityLocal> <totalLoss>595.553</totalLoss> <originalAcquisitionCostBase>818.366</originalAcquisitionCostBase> <originalAcquisitionCostLocal>998.717</originalAcquisitionCostLocal> <originalFaceValue>785.64</originalFaceValue> <originalBuiltInGlMktDisc>593.93</originalBuiltInGlMktDisc> <originalTradePrice>742.018</originalTradePrice> <originalBuiltInGlCurrency>787.477</originalBuiltInGlCurrency> <originalBuiltInGlDeferred>486.493</originalBuiltInGlDeferred> <originalBuiltInGlOid>647.502</originalBuiltInGlOid> <originalBuiltInGlSecurity>934.244</originalBuiltInGlSecurity> <originalSettlementDate>2015-02-18</originalSettlementDate> <originalQuantity>734.445</originalQuantity> <openCostBase>589.178</openCostBase> <openHldPerDate>2015-02-18</openHldPerDate> <performanceFlow>879.44</performanceFlow> <performancePrice>481.915</performancePrice> <premiumLAllocated>388.732</premiumLAllocated> <premiumBAllocated>515.709</premiumBAllocated> <settlementAmount>628.796</settlementAmount> <toAccount>ENTST002</toAccount> <toAssetid>24126750</toAssetid> <toLongShort>N</toLongShort> <toSourceSystem>N</toSourceSystem> <toCostBasisType>P</toCostBasisType> <toCashEventType>N</toCashEventType> <toWashSaleEligInd>Y</toWashSaleEligInd> <userChar1>USER_CHAR1</userChar1> <userChar2>USER_CHAR2</userChar2> <userChar3>USER_CHAR3</userChar3> <userDefinedFloat1>292.604</userDefinedFloat1> <userDefinedFloat2>923.46</userDefinedFloat2> <userDefinedFloat3>637.912</userDefinedFloat3> <costMethod>A</costMethod> <lotSelectionMethod>FIFO</lotSelectionMethod> <transactionCode>BUY</transactionCode> <factor>663.219</factor> <netAmountLocal>839.853</netAmountLocal> <netAmountBase>720.808</netAmountBase> <principalB>260.116</principalB> <quantityPre>925.137</quantityPre> <tradeYield>403.015</tradeYield> <dirtyPrincipalLocal>755.67</dirtyPrincipalLocal> <dirtyPrincipalBase>657.47</dirtyPrincipalBase> <estimateVsFinal>FIN</estimateVsFinal> <reportingReplayInd>N</reportingReplayInd> <cashEventType>RECPT</cashEventType> <transactionNotes>BUY</transactionNotes> <partflag>Y</partflag> <scrubType>A</scrubType> <glAccount>GL_ACCOUNT</glAccount> <custodianBankCode>CODE</custodianBankCode> <custodyBankAccountNum>ACCOUNT</custodyBankAccountNum> <custodyBankSubAccount>SUB_ACCT</custodyBankSubAccount> <corporateActionType>EXCHANGE OFFER</corporateActionType> <cashEventSpawned>Y</cashEventSpawned> <bankAlias>242756</bankAlias> <changedflag>C</changedflag> <eventId>TSTR7986G</eventId> <corporateActionInstance>108366</corporateActionInstance> <sellToBuyFXRate>784.373</sellToBuyFXRate> <lotNumber>LOTN</lotNumber> <masterTicketNumber>A4F68JGE54GH1</masterTicketNumber> <acqTransNumber>397099</acqTransNumber> <postType>TYPE</postType> <tradeMemo1>TRADE_MEMO1</tradeMemo1> <tradeMemo2>TRADE_MEMO2</tradeMemo2> <fxRate>214.05</fxRate> <checkedDate>2015-02-18</checkedDate> <instructedDate>2015-02-25T06:02:47</instructedDate> <dispInterestReceived>124.951</dispInterestReceived> <userWhoApprovedTrade>USER</userWhoApprovedTrade> <prepaySpeed>719.425</prepaySpeed> <settlementExchangeRate>246.113</settlementExchangeRate> <touchCount>642886</touchCount> <authorizedDate>2015-02-25T06:02:47</authorizedDate> <localCommissionAmount>784.026</localCommissionAmount> <salesPerson>SALES_PERSON</salesPerson> <broker>BROKER</broker> <settlementCurrency>USD</settlementCurrency> <discountRate>859.935</discountRate> <comments1>COMMENTS1</comments1> <price>429.023</price> <principal>438.916</principal> <comments>COMMENTS</comments> <prepared>PREPARED</prepared> <preparedDate>2015-02-25T06:02:47</preparedDate> <settlementLocation>LOCATION</settlementLocation> <trader>TRADER</trader> <yield>268.127</yield> <fromQuantity>825.597</fromQuantity> <sellToBaseFxRate>113.427</sellToBaseFxRate> <toQuantity>549.864</toQuantity> <toAmountLocal>804.93</toAmountLocal> <toCashType>CASH_TYPE</toCashType> <fromAmountLocal>971.145</fromAmountLocal> <fromCashType>CASH_TYPE</fromCashType> <settlementInstructions1>SETTLEMENT_INSTRUCTIONS1</settlementInstructions1> <settlementInstructions2>SETTLEMENT_INSTRUCTIONS2</settlementInstructions2> <settlementInstructions3>SETTLEMENT_INSTRUCTIONS3</settlementInstructions3> <settlementInstructions4>SETTLEMENT_INSTRUCTIONS4</settlementInstructions4> <strategy>STRATEGY</strategy> <settlementDate>2015-02-18</settlementDate> <tradeExchangeRate>412.665</tradeExchangeRate> <postDate>2015-02-18</postDate> <custodianBankDesc>CUSTODIAN_BANK_DESC</custodianBankDesc> <openCostLocal>323.91</openCostLocal> <tradeAmount>792.136</tradeAmount> <smInactiveFlag>N</smInactiveFlag> <clientId>TSTR210A</clientId> <covFlag>N</covFlag> <eventSubPriority>800009</eventSubPriority> <ioIssuerAlias>IO_ISSUER_ALIAS</ioIssuerAlias> <ioIssuerId>TSTR820A</ioIssuerId> <origAcctDate>2015-02-18</origAcctDate> <origMonthlyAcctDate>2015-02-18</origMonthlyAcctDate> <pendingTradeId>841918</pendingTradeId> <qtyWashSaleEligible>890.105</qtyWashSaleEligible> <washSaleEligibleInd>N</washSaleEligibleInd> <aiaNetB>336.63</aiaNetB> <aiaNetL>329.022</aiaNetL> <buySellFlag>BUY</buySellFlag> <bookValue>800.295</bookValue> <bookValueLocal>134.357</bookValueLocal> <cpNetB>337.575</cpNetB> <cpNetL>539.859</cpNetL> <creditLossB>147.784</creditLossB> <creditLossL>701.405</creditLossL> <costBasisType>F</costBasisType> <futureFeeNetB>118.93</futureFeeNetB> <futureFeeNetL>221.959</futureFeeNetL> <impairmentLtdBase>429.515</impairmentLtdBase> <impairmentLtdLocal>423.229</impairmentLtdLocal> <mbaNetB>547.444</mbaNetB> <mbaNetL>700.545</mbaNetL> <naiaNetB>649.861</naiaNetB> <naiaNetL>657.304</naiaNetL> <nonCreditLossB>381.697</nonCreditLossB> <nonCreditLossL>187.558</nonCreditLossL> <bookCost>795.18</bookCost> <cashCategory>CASH_CATEGORY</cashCategory> <cancelType>C</cancelType> <exchangeFeeBase>430.715</exchangeFeeBase> <federalTaxWithholdBase>179.171</federalTaxWithholdBase> <mttype>MTCLOSE</mttype> <netCash>144.692</netCash> <origAcqDate>2015-02-18</origAcqDate> <positionId>536730</positionId> <scrubId>903071</scrubId> <secFeesBase>340.802</secFeesBase> <termLoanFeeExpB>880.006</termLoanFeeExpB> <termLoanFeeExpL>239.702</termLoanFeeExpL> <termLoanFeeIncB>483.79</termLoanFeeIncB> <termLoanFeeIncL>594.268</termLoanFeeIncL> <targetEventId>TSTR821A</targetEventId> <updateUserId>TSTR8210A</updateUserId> <accruedInterestOverride>ACCRUED_INTEREST_OVR</accruedInterestOverride> <acquisitionType>C</acquisitionType> <amortizedCostPrevBase>250.703</amortizedCostPrevBase> <amortizedCostPrevLocal>206.852</amortizedCostPrevLocal> <alluprate>168.707</alluprate> <asOfTradeTime>AS_OF_TRADE_TIME</asOfTradeTime> <authorized>AUTHORIZED</authorized> <autoexTradeFlag>FLAG</autoexTradeFlag> <baseCommissionAmount>372.662</baseCommissionAmount> <batchInstance>405902</batchInstance> <balance>734.073</balance> <bnchYld1>150.879</bnchYld1> <bnchYld2>955.763</bnchYld2> <bloombergProduct>PRODUCT</bloombergProduct> <buyToBaseFxRate>305.344</buyToBaseFxRate> <calcYieldIntIndicator>143323</calcYieldIntIndicator> <cancelDueToCorrection>CANC</cancelDueToCorrection> <cashflowdate>2015-02-18</cashflowdate> <checked>CHECKED</checked> <clearingBroker>CLEARING_BROKER</clearingBroker> <closeoutpl0>100.526</closeoutpl0> <closeoutpl1>334.342</closeoutpl1> <commentType>TYPE</commentType> <compared>COMPARED</compared> <compareddate>2015-02-18</compareddate> <costPrevBase>388.004</costPrevBase> <costPrevLocal>179.697</costPrevLocal> <cleanPrice>245.801</cleanPrice> <commissionCode>CODE</commissionCode> <commissionReasonCode>REASON</commissionReasonCode> <commissionTypeCode>NO</commissionTypeCode> <customerAcctNumb>CUSTOMER_ACCT_NUMB</customerAcctNumb> <dispBookValueGaap>240.85</dispBookValueGaap> <dispBookValueStat>596.497</dispBookValueStat> <disallowGainB>680.534</disallowGainB> <disallowGainL>957.888</disallowGainL> <disallowLossB>751.265</disallowLossB> <disallowLossL>474.507</disallowLossL> <dispAccruedIncome>197.591</dispAccruedIncome> <electedShareAmt>149.022</electedShareAmt> <electedSharePerc>968.775</electedSharePerc> <exchangeCodeTrd>CODE_TRD</exchangeCodeTrd> <exchangeCurrency>USD</exchangeCurrency> <exchangeTypeCode>TYPE_COD</exchangeTypeCode> <exchangeCode>CODE</exchangeCode> <exchangeFee>285.617</exchangeFee> <fairMarketValueBase>598.319</fairMarketValueBase> <fairMarketValueFlag>N</fairMarketValueFlag> <fairMarketValueLocal>830.836</fairMarketValueLocal> <fairMarketValuePrice>421.428</fairMarketValuePrice> <feeamt>749.022</feeamt> <feerate>851.654</feerate> <fromEffectiveDate>2015-02-18</fromEffectiveDate> <fwdCleanPrice>404.101</fwdCleanPrice> <gaapRealizedGl>935.651</gaapRealizedGl> <gaapSecType>TYP</gaapSecType> <goodMillionNum>710003</goodMillionNum> <haircutFlag>Y</haircutFlag> <haircutPct>669.725</haircutPct> <holdTradeStatus>A</holdTradeStatus> <identifier2>IDENTIFIER2</identifier2> <impairmentAmortOffsetB>352.868</impairmentAmortOffsetB> <impairmentAmortOffsetL>579.734</impairmentAmortOffsetL> <impairmentCostOffsetB>789.035</impairmentCostOffsetB> <impairmentCostOffsetL>513.376</impairmentCostOffsetL> <impairmentCostPrevB>537.023</impairmentCostPrevB> <impairmentCostPrevL>789.561</impairmentCostPrevL> <inceptionamt>747.719</inceptionamt> <instructed>INSTRUCTED</instructed> <interest>825.027</interest> <invertFlag>N</invertFlag> <interestadj>783.224</interestadj> <interestAdjBase>807.486</interestAdjBase> <ledgerEffectiveDate>2015-02-18</ledgerEffectiveDate> <ledgerDate>2015-02-18</ledgerDate> <letterconfirm>LETTERCONF</letterconfirm> <lettered>LETTERED</lettered> <lettereddate>2015-02-18</lettereddate> <lmtGlElg>N</lmtGlElg> <lmtGlInd>N</lmtGlInd> <margin>171.691</margin> <marginpoints>838.041</marginpoints> <mortgageFlag>Y</mortgageFlag> <muniFlag>Y</muniFlag> <netsettleamt>403.984</netsettleamt> <navId>795930</navId> <numberOfAccuredDays>969.215</numberOfAccuredDays> <netCashLocal>140.699</netCashLocal> <notionalamt>807.487</notionalamt> <notionalflag>N</notionalflag> <otherFee>118.238</otherFee> <origTranNum>ORIG_TRAN_NUM</origTranNum> <ownershipTransferDate>2015-02-18</ownershipTransferDate> <oidYield>923.44</oidYield> <otherFeeBase>993.105</otherFeeBase> <paceTradeEventId>TS210</paceTradeEventId> <positionIdTrd>279546</positionIdTrd> <productSubType>SUB_TYPE</productSubType> <poolNumber>POOL_NUMBER</poolNumber> <priceCurrency>USD</priceCurrency> <principalFactor>605.933</principalFactor> <realizedGlBase>632.601</realizedGlBase> <realizedGlCrB>215.198</realizedGlCrB> <realizedGlCrL>807.922</realizedGlCrL> <realizedGlLocal>256.571</realizedGlLocal> <realizedGlNcrB>698.889</realizedGlNcrB> <realizedGlNcrL>974.756</realizedGlNcrL> <recdPayAcct1>RECD_PAY_ACCT1</recdPayAcct1> <recdPayAcct2>RECD_PAY_ACCT2</recdPayAcct2> <recdPayEventType>RECD_PAY_EVENT_TYPE</recdPayEventType> <recdPayPostingPlanType>RECD_PAY_POSTING_PLAN_TYPE</recdPayPostingPlanType> <refrate>736.305</refrate> <repoRate>487.926</repoRate> <retailFeed>RETAIL_FEED</retailFeed> <salesPersonLogin>SALES_PERSON_LOGIN</salesPersonLogin> <secidType>SECID_TYPE</secidType> <sequencedate>2015-02-18</sequencedate> <settleamt0>488.133</settleamt0> <settleamt1>273.329</settleamt1> <settled>SETTLED</settled> <settleAmtAtMaturity>191.454</settleAmtAtMaturity> <settlementMethod>METHOD</settlementMethod> <shortTermId>998357</shortTermId> <sourceSystem>S</sourceSystem> <systemTradeTime>SYSTEM_TRADE_TIME</systemTradeTime> <sentTradeStatus>A</sentTradeStatus> <starTag151>STAR_TAG151</starTag151> <starTag182>STAR_TAG182</starTag182> <stateTaxWithholdBase>874.679</stateTaxWithholdBase> <starLsInd>L</starLsInd> <targetPurchaseDate>2015-02-18</targetPurchaseDate> <targetPurchasePrice>984.014</targetPurchasePrice> <targetTradeTicketNumber>TARGET_TRADE_TICKET_NUMBER</targetTradeTicketNumber> <taxesBase>626.687</taxesBase> <timeOfTrade>261.29</timeOfTrade> <toFxRate>650.206</toFxRate> <toLocalCommissionAmt>422.618</toLocalCommissionAmt> <toSettleToBaseFxRate>144.472</toSettleToBaseFxRate> <toSettlementCurrency>EUR</toSettlementCurrency> <transactionId>TSTR8210A</transactionId> <turnaroundIndicator>N</turnaroundIndicator> <totalGainLocal>162.71</totalGainLocal> <totalAmortLocal>528.312</totalAmortLocal> <totalAmortBase>137.178</totalAmortBase> <totalLossLocal>593.233</totalLossLocal> <tdUserChar1>TD_USER1</tdUserChar1> <tdUserChar2>TD_USER_CHAR2</tdUserChar2> <tdUserDate1>2015-02-18</tdUserDate1> <tdUserDate2>2015-02-18</tdUserDate2> <tdUserInt1>279644</tdUserInt1> <tdUserInt2>702491</tdUserInt2> <tdUserInt3>801944</tdUserInt3> <tdUserInt4>882783</tdUserInt4> <tdUserInt5>313103</tdUserInt5> <tdUserInt6>802727</tdUserInt6> <tdUserInt7>706385</tdUserInt7> <tdUserInt8>665022</tdUserInt8> <tradeMemo3>TRADE_MEMO3</tradeMemo3> <tradeMemo4>TRADE_MEMO4</tradeMemo4> <tradeMemo5>CANCEL</tradeMemo5> <thirdCurrencyFx>768.861</thirdCurrencyFx> <timeOfSalesTicket>TIME_OF_SALES_TICKET</timeOfSalesTicket> <timeOfSlate>TIME_OF_SLATE</timeOfSlate> <tradeChar1>TRADE_CHAR1</tradeChar1> <tradeFlat>Y</tradeFlat> <tradersLogin>LOGIN</tradersLogin> <transcost4Amount>522.328</transcost4Amount> <transcost4Code>CODE4</transcost4Code> <transcost4Currency>EUR</transcost4Currency> <transcost4TypeCode>TYPE5</transcost4TypeCode> <transcost5Amount>602.724</transcost5Amount> <transcost5Code>CODE5</transcost5Code> <transcost5Currency>USD</transcost5Currency> <transcost5TypeCode>TYPE5</transcost5TypeCode> <updateSourceTrd>MCADMIN</updateSourceTrd> <underlyingAccrIntB>395.549</underlyingAccrIntB> <underlyingAccrIntL>597.585</underlyingAccrIntL> <underlyingAccrIntLMat>166.897</underlyingAccrIntLMat> <withholdCode>W_CODE</withholdCode> <withholdCurrency>EUR</withholdCurrency> <withholdTypeCode>CODE</withholdTypeCode> <workoutDate>2015-02-18</workoutDate> <workoutPrice>632.133</workoutPrice> <withholdingTax>642.057</withholdingTax> <batchEventId>TSTR825</batchEventId> <secFee>618.734</secFee> <tradeDate>2015-02-18</tradeDate> <recordType>TYPE</recordType> <linkEventId>TSTR820A</linkEventId> <orderNumber>ORDER_NUMBER</orderNumber> <priceMethod>PRIC</priceMethod> <regulatoryIntent>REGULATORY_INTENT</regulatoryIntent> <holdingTerm>HOLDING_TERM</holdingTerm> <income>376.597</income> <incomeAmountBase>609.432</incomeAmountBase> <consolidatedIndicator>Y</consolidatedIndicator> <fromRegulatoryCategory>FROM</fromRegulatoryCategory> <toRegulatoryCategory>TO</toRegulatoryCategory> <deskAka>DESK_AKA</deskAka> <deskType>DESK_TYPE</deskType> <desk>DESK</desk> <exSubBrokerId>TSTR820A</exSubBrokerId> <placementNum>PLACEMENT_NUM</placementNum> <subBrokerCode>SUB_BROKER_CODE</subBrokerCode> <tradeInterfaceInfo>TRADE_INTERFACE_INFO</tradeInterfaceInfo> <trdBrokerAka>TRD_BROKER_AKA</trdBrokerAka> <trdDirtyPrice>192.4</trdDirtyPrice> <trdExBrokerDesk>TRD_EX_BROKER_DESK</trdExBrokerDesk> <trdExDeskType>TRD_EX_DESK_TYPE</trdExDeskType> <trdExternalAccountLoc>TRD_EXTERNAL_ACCOUNT_LOC</trdExternalAccountLoc> <trdLocation>TRD_LOCATION</trdLocation> <trdSeriesNum>TRD_SERIES_NUM</trdSeriesNum> <trdVersion>TRD_VERSION</trdVersion> <trdExtidId1>TRD_EXTID_ID1</trdExtidId1> <trdExtidId2>TRD_EXTID_ID2</trdExtidId2> <tbaInvnum>668167</tbaInvnum> <tbaTrdDate>2018-07-10</tbaTrdDate> <collatExposureType>COLLAT_EXPOSURE_TYPE</collatExposureType> <effTermDate>2018-07-10</effTermDate> <contractRef>CONTRACT_REF</contractRef> <trdExternalId1Type>TRD_EXTERNAL_ID1_TYPE</trdExternalId1Type> <trdExternalId2Type>TRD_EXTERNAL_ID2_TYPE</trdExternalId2Type> <mifidTradeTime>2018-07-10</mifidTradeTime> <mifidOrderType>MIFID_ORDER_TYPE</mifidOrderType> <mifidTradingVenue>MIFID_TRADING_VENUE</mifidTradingVenue> <newIssueIndicator>Y</newIssueIndicator> <dealSource>DEAL_SOURCE</dealSource> <stGainSecLocal>148.369</stGainSecLocal> <stLossSecLocal>456.227</stLossSecLocal> <stGainSecBase>646.337</stGainSecBase> <stLossSecBase>798.334</stLossSecBase> <stGain>451.258</stGain> <stLoss>875.318</stLoss> <stGainCurrency>468.175</stGainCurrency> <stLossCurrency>436.665</stLossCurrency> <ltGainSecLocal>693.788</ltGainSecLocal> <ltLossSecLocal>864.475</ltLossSecLocal> <ltGainSecBase>757.379</ltGainSecBase> <ltLossSecBase>661.172</ltLossSecBase> <ltGain>147.234</ltGain> <ltLoss>536.238</ltLoss> <ltGainCurrency>463.378</ltGainCurrency> <ltLossCurrency>536.328</ltLossCurrency> <clsAmortLocal>559.331</clsAmortLocal> <clsAmortBase>116.219</clsAmortBase> <clsOidLocal>746.219</clsOidLocal> <clsOidBase>448.339</clsOidBase> <clsIlbIncLtdLocal>445.559</clsIlbIncLtdLocal> <clsIlbIncLtdBase>465.309</clsIlbIncLtdBase> <gainCurrency988>102.038</gainCurrency988> <lossCurrency988>790.264</lossCurrency988> <gainLossCurrency988>450.311</gainLossCurrency988> <washsaleDisallowedReversalLocal>145.57</washsaleDisallowedReversalLocal> <washsaleDisallowedReversalBase>780.296</washsaleDisallowedReversalBase> <impairmentLtdLocalExt>701.279</impairmentLtdLocalExt> <impairmentLtdBaseExt>943.342</impairmentLtdBaseExt> <impairmentFxLtd>108.209</impairmentFxLtd> <recPayAcctSecondary>REC_PAY_ACCT_SECONDARY</recPayAcctSecondary> <recPayAcct2Secondary>REC_PAY_ACCT2_SECONDARY</recPayAcct2Secondary> <nonCreditLedgerDebit>NON_CREDIT_LEDGER_DEBIT</nonCreditLedgerDebit> <nonCreditLedgerCredit>NON_CREDIT_LEDGER_CREDIT</nonCreditLedgerCredit> <ociLedgerDebit>OCI_LEDGER_DEBIT</ociLedgerDebit> <ociLedgerCredit>OCI_LEDGER_CREDIT</ociLedgerCredit> <fxImpairLedgerDebit>FX_IMPAIR_LEDGER_DEBIT</fxImpairLedgerDebit> <fxImpairLedgerCredit>FX_IMPAIR_LEDGER_CREDIT</fxImpairLedgerCredit> <breakageAmountLocal>476.389</breakageAmountLocal> <breakageAmountBase>736.492</breakageAmountBase> <trdDetExtUserFloat1>153.756</trdDetExtUserFloat1> <trdDetExtUserFloat2>454.186</trdDetExtUserFloat2> <trdDetExtUserFloat3>775.312</trdDetExtUserFloat3> <trdDetExtUserFloat4>451.228</trdDetExtUserFloat4> <trdDetExtUserFloat5>841.279</trdDetExtUserFloat5> <trdDetExtUserFloat6>540.314</trdDetExtUserFloat6> <trdDetExtUserFloat7>447.105</trdDetExtUserFloat7> <trdDetExtUserFloat8>442.338</trdDetExtUserFloat8> <trdDetExtUserFloat9>104.289</trdDetExtUserFloat9> <trdDetExtUserFloat10>445.316</trdDetExtUserFloat10> <trdDetExtUserFloat11>525.348</trdDetExtUserFloat11> <trdDetExtUserFloat12>477.229</trdDetExtUserFloat12> <trdDetExtUserFloat13>114.236</trdDetExtUserFloat13> <trdDetExtUserFloat14>685.236</trdDetExtUserFloat14> <trdDetExtUserFloat15>775.124</trdDetExtUserFloat15> <trdDetExtUserFloat16>485.236</trdDetExtUserFloat16> <trdDetExtUserFloat17>443.997</trdDetExtUserFloat17> <trdDetExtUserFloat18>108.34</trdDetExtUserFloat18> <trdDetExtUserFloat19>455.234</trdDetExtUserFloat19> <trdDetExtUserFloat20>558.364</trdDetExtUserFloat20> <trdDetExtUserFloat21>775.216</trdDetExtUserFloat21> <trdDetExtUserFloat22>554.375</trdDetExtUserFloat22> <trdDetExtUserFloat23>546.345</trdDetExtUserFloat23> <trdDetExtUserFloat24>854.326</trdDetExtUserFloat24> <trdDetExtUserFloat25>883.194</trdDetExtUserFloat25> <trdDetExtUserFloat26>738.234</trdDetExtUserFloat26> <trdDetExtUserFloat27>551.379</trdDetExtUserFloat27> <trdDetExtUserFloat28>497.364</trdDetExtUserFloat28> <trdDetExtUserFloat29>546.33</trdDetExtUserFloat29> <trdDetExtUserFloat30>507.068</trdDetExtUserFloat30> <trdDetExtUserChar1>TRD_DET_EXT_USER_CHAR1</trdDetExtUserChar1> <trdDetExtUserChar2>TRD_DET_EXT_USER_CHAR2</trdDetExtUserChar2> <trdDetExtUserChar3>TRD_DET_EXT_USER_CHAR3</trdDetExtUserChar3> <trdDetExtUserChar4>TRD_DET_EXT_USER_CHAR4</trdDetExtUserChar4> <trdDetExtUserChar5>TRD_DET_EXT_USER_CHAR5</trdDetExtUserChar5> <trdDetExtUserChar6>TRD_DET_EXT_USER_CHAR6</trdDetExtUserChar6> <trdDetExtUserChar7>TRD_DET_EXT_USER_CHAR7</trdDetExtUserChar7> <trdDetExtUserChar8>TRD_DET_EXT_USER_CHAR8</trdDetExtUserChar8> <trdDetExtUserChar9>TRD_DET_EXT_USER_CHAR9</trdDetExtUserChar9> <trdDetExtUserChar10>TRD_DET_EXT_USER_CHAR10</trdDetExtUserChar10> <trdDetExtUserChar11>TRD_DET_EXT_USER_CHAR11</trdDetExtUserChar11> <trdDetExtUserChar12>TRD_DET_EXT_USER_CHAR12</trdDetExtUserChar12> <trdDetExtUserChar13>TRD_DET_EXT_USER_CHAR13</trdDetExtUserChar13> <trdDetExtUserChar14>TRD_DET_EXT_USER_CHAR14</trdDetExtUserChar14> <trdDetExtUserChar15>TRD_DET_EXT_USER_CHAR15</trdDetExtUserChar15> <trdDetExtUserChar16>TRD_DET_EXT_USER_CHAR16</trdDetExtUserChar16> <trdDetExtUserChar17>TRD_DET_EXT_USER_CHAR17</trdDetExtUserChar17> <trdDetExtUserChar18>TRD_DET_EXT_USER_CHAR18</trdDetExtUserChar18> <trdDetExtUserChar19>TRD_DET_EXT_USER_CHAR19</trdDetExtUserChar19> <trdDetExtUserChar20>TRD_DET_EXT_USER_CHAR20</trdDetExtUserChar20> <trdDetExtUserChar21>TRD_DET_EXT_USER_CHAR21</trdDetExtUserChar21> <trdDetExtUserChar22>TRD_DET_EXT_USER_CHAR22</trdDetExtUserChar22> <trdDetExtUserChar23>TRD_DET_EXT_USER_CHAR23</trdDetExtUserChar23> <trdDetExtUserChar24>TRD_DET_EXT_USER_CHAR24</trdDetExtUserChar24> <trdDetExtUserChar25>TRD_DET_EXT_USER_CHAR25</trdDetExtUserChar25> <trdDetExtUserChar26>TRD_DET_EXT_USER_CHAR26</trdDetExtUserChar26> <trdDetExtUserChar27>TRD_DET_EXT_USER_CHAR27</trdDetExtUserChar27> <trdDetExtUserChar28>TRD_DET_EXT_USER_CHAR28</trdDetExtUserChar28> <trdDetExtUserChar29>TRD_DET_EXT_USER_CHAR29</trdDetExtUserChar29> <trdDetExtUserChar30>TRD_DET_EXT_USER_CHAR30</trdDetExtUserChar30> <trdDetExtUserDate1>2018-07-10</trdDetExtUserDate1> <trdDetExtUserDate2>2018-07-10</trdDetExtUserDate2> <trdDetExtUserDate3>2018-07-10</trdDetExtUserDate3> <trdDetExtUserDate4>2018-07-10</trdDetExtUserDate4> <trdDetExtUserDate5>2018-07-10</trdDetExtUserDate5> <trdDetExtUserDate6>2018-07-10</trdDetExtUserDate6> <trdDetExtUserDate7>2018-07-10</trdDetExtUserDate7> <trdDetExtUserDate8>2018-07-10</trdDetExtUserDate8> <trdDetExtUserDate9>2018-07-10</trdDetExtUserDate9> <trdDetExtUserDate10>2018-07-10</trdDetExtUserDate10> <impairReasonCode>IMPAIR_REASON_CODE</impairReasonCode> <cancelPostDate>2020-06-18</cancelPostDate> <cancelReasonIndicator>CANCEL REASON</cancelReasonIndicator> <commitmentAmount>10.1</commitmentAmount> <distributedInvestmentIncomeLocal>10.2</distributedInvestmentIncomeLocal> <distributedInvestmentIncomeBase>10.3</distributedInvestmentIncomeBase> <expectedCreditLossAmountLocal>10.4</expectedCreditLossAmountLocal> <expectedCreditLossAmountBase>10.5</expectedCreditLossAmountBase> <expectedCreditLossDeltaAmountLocal>10.6</expectedCreditLossDeltaAmountLocal> <expectedCreditLossDeltaAmountBase>10.7</expectedCreditLossDeltaAmountBase> <expectedCreditLossPreviousAmountLocal>10.8</expectedCreditLossPreviousAmountLocal> <expectedCreditLossPreviousAmountBase>10.9</expectedCreditLossPreviousAmountBase> <expectedCreditLossStageAmount>11</expectedCreditLossStageAmount> <expectedCreditLossPreviousStageAmount>11</expectedCreditLossPreviousStageAmount> <equityMethodAcctCostIndicator>EMA</equityMethodAcctCostIndicator> <equityMethodAcctTreatmentMethod>C</equityMethodAcctTreatmentMethod> <fxImpairmentRate>11.4</fxImpairmentRate> <equityMethodAcctCRCCTGainBase>11.5</equityMethodAcctCRCCTGainBase> <currentPeriodCurrencyGain>11.6</currentPeriodCurrencyGain> <currencyIncomeGain>11.7</currencyIncomeGain> <termGainLoss>6</termGainLoss> <currentPeriodSecurityGainBase>11.9</currentPeriodSecurityGainBase> <currentPeriodSecurityGainLocal>12</currentPeriodSecurityGainLocal> <equityMethodAcctSecurityGainBase>12.1</equityMethodAcctSecurityGainBase> <equityMethodAcctSecurityGainLocal>12.2</equityMethodAcctSecurityGainLocal> <equityMethodAcctCurrencyLossBase>12.4</equityMethodAcctCurrencyLossBase> <currentPeriodCurrencyLoss>12.5</currentPeriodCurrencyLoss> <currencyIncomeLoss>12.6</currencyIncomeLoss> <currentPeriodSecurityLossBase>12.7</currentPeriodSecurityLossBase> <currentPeriodSecurityLossLocal>12.8</currentPeriodSecurityLossLocal> <equityMethodAcctSecurityLossBase>12.9</equityMethodAcctSecurityLossBase> <equityMethodAcctSecurityLossLocal>13</equityMethodAcctSecurityLossLocal> <equityMethodAcctMarketValueBase>13.1</equityMethodAcctMarketValueBase> <equityMethodAcctMarketValueLocal>13.2</equityMethodAcctMarketValueLocal> <notionalOrUnitsIndicator>D</notionalOrUnitsIndicator> <ownershipPercentage>13.6</ownershipPercentage> <cashFlowEffectiveDate>2020-06-18</cashFlowEffectiveDate> <equityMethodAcctPeriodMarketValueLocal>13.8</equityMethodAcctPeriodMarketValueLocal> <equityMethodAcctPeriodMarketValueBase>13.9</equityMethodAcctPeriodMarketValueBase> <prorataCreditNonCreditLossFlag>Y</prorataCreditNonCreditLossFlag> <purchasedImpairedIndicator>F</purchasedImpairedIndicator> <researchFeeLocal>14.2</researchFeeLocal> <researchFeeBase>14.3</researchFeeBase> <sleeveId>L</sleeveId> <srcSysC>M</srcSysC> <starSourceLevel>G</starSourceLevel> <technicalShortLevel>H</technicalShortLevel> <undistributedInvestmentIncomeBase>14.4</undistributedInvestmentIncomeBase> <undistributedInvestmentIncomeLocal>14.5</undistributedInvestmentIncomeLocal> <unrealizedUndistributedInvestmentIncomeBase>14.6</unrealizedUndistributedInvestmentIncomeBase> <unrealizedUndistributedInvestmentIncomeLocal>14.7</unrealizedUndistributedInvestmentIncomeLocal> <settleAmountBase>312.123</settleAmountBase> </warehouseTrade> </warehouseTransaction> </EagleML>
Refer to the data map table for Warehouse Trade object
CSV Processing Sequence
Warehouse Trade is loaded to DB with the following streams:
- eagle_default_in_csv_warehouse - this is PRF stream which consist of two steps transform and load
- eagle_default_in_csv_warehouse_t - transformation CSV to EagleML
- trade.xml rule
- eagle_ml-2-0_default_in_xml_warehouse_preproc
- XSLT transformation. XSLT rule 'eagle_default/in/xml/xslt/wrh_egl_gen_interface3.xsl' is used.
- Loading data into the database. The 'eagle_default/in/xml/xml-warehouse_v2.xml' rule is used
To load or update data in Warehouse Trade tables, send your CSV message to the eagle_default_in_csv_warehouse stream.
Required Elements
The following elements are required in the EagleML message: Effective Date, Entity Id (or Entity Identifiers), Source Name, Lot Number, identifiers for resolve Security Alias.
- Effective Date: warehouseTransaction/warehouseTrade/effectiveDate – mapped to TRADESDBO.TRADE.EFFECTIVE_DATE
- Entity Id: warehouseTransaction/warehouseTrade/entityId (or warehouseTransaction/warehouseTrade/xrefAccountId and warehouseTransaction/warehouseTrade/xrefAccountIdType) – mapped to TRADESDBO.TRADE.ENTITY_ID
- Source Name: warehouseTransaction/warehouseTrade/sourceName
- Lot Number: warehouseTransaction/warehouseTrade/lotNumber – mapped to TRADESDBO.TRADE.LOT_NUMBER
- Master Ticket Number: warehouseTransaction/warehouseTrade/masterTicketNumber – mapped to TRADESDBO.TRADE.MASTER_TICKET_NUMBER
- Security Identifiers for resolve the Security Alias (see the section 'Security Resolution Logic'), Security Alias mapped to TRADESDBO.TRADE.SECURITY_ALIAS
Security Resolution Logic
<securityAlias> should not be specified in the incoming EagleML message.
In this page:
Overview
Security resolution logic for warehouse objects is carried out within the stored procedure PACE_MASTERDBO.ESTAR_STD_INTERFACES.RETURN_XREF_SECALIAS_GEN
The resolution of security is controlled by two parameters: Security Resolution Options and Batting Order
Batting Order works for Warehouse objects exactly in the same way as it does for for Reference objects.
For Warehouse Objects, the only mode for Security Resolution Logic is Find 1st Match (note: there is no Match All mode)
While there is only one mode, there are some additional Security Resolution Options that are available for Warehouse Objects.
Security Resolution Logic
Security resolution can be performed only in Find 1st Match mode. (There is no Match All mode available)
- Find 1st Match mode implements logic when the security is resolved by the 1st matching of xref identifiers.
Find 1st Match Mode Logic
In this mode the security is resolved within the RETURN_XREF_SECALIAS_GEN stored procedure based on incoming identifiers declared in Batting Order and on setting specified in Security Resolution Options.
- The stored procedure finds Security by the 1st non-empty pair of XId and XIdType and an additional filter such as Asset Currency, Maturity Date, Exchange. Then the SP returns the Asset (Security Alias) and the XAlias’s for the remaining identifiers based on Security found. If any one of the remaining identifiers does not match the Security found or refers to another Security, the SP returns XAlias as 1.
- If none of the identifiers refer to any existing Security, the lookup returns all the parameters as 0.
SWAP Securities Resolution
When your Warehouse record is related to a SWAP security, to perform security resolution properly one of the following conditions should be met:
1. Xref identifiers uniquely defining each leg of the SWAP security should be present in the incoming record (any kind of xref id can be used, for example, 1111/CUSIP for the contract leg, 2222/ISIN for the pay leg, 3333/SEDOL for the receive leg).
OR
2. Use a SWAPID uniquely defining each of the legs of the SWAP for security resolution. To do that, specify the following three fields:
Note
- Swap Processing Security Type (start it with ‘SW’ so that the rule recognizes it as a SWAP)
- Pay Receive Indicator (C,P or R for Contract, Pay or Receive)
- Primary Asset Id
SWAPID will have a higher priority for resolution than other identifiers (if other identifiers are specified).
Security Resolution Option
Security Resolution Options are specified settings which are used for security resolution logic.
For Warehouse Objects, they can contain following values:
XREF_EXCHANGE – additional setting which defines will the Xref Exchange value be used for resolving security or not
Note
- Exchange <primaryExchangeCode>ALL</primaryExchangeCode>
- Inactive Flag <smInactiveFlag>Y</smInactiveFlag>
- Local Currency <localCurrency>USD</localCurrency>
- Country Code <nraTaxCountry>US</nraTaxCountry>
- Maturity Date <maturityDate>2015-06-30</maturityDate>
Additional information on when the above are applicable:
Type | Max number of Ids supported by SP | Exchange | Inactive Flag | Local Currency | Country Code | Maturity Date |
---|---|---|---|---|---|---|
Open Lot | 10 | Y | Y | Y | Y | Y |
Close Lot | 10 | Y | N | N | N | N |
Position | 10 | Y | Y | N | N | N |
Cash Activity | 10 | Y | N | N | N | N |
Performance | 5 | N | N | N | N | N |
Trade | 10 | Y | N | N | N | N |
Cash Flow Projection | 10 | Y | Y | N | N | N |
General Ledger Balances | 10 | Y | N | N | N | N |
NAV | Does not use Security | |||||
NAV Multi | 10 | Y | N | N | N | N |
Trade Charges | Does not use Security | |||||
Broker Trade Quotes | Does not use Security |
The order in which you list the identifiers in the security resolution option does not matter. Instead, the order for resolution is pulled from the Batting Order.
Default security resolution logic uses the “Find 1st Match” mode of security resolution and contains all additional settings and xreference identifiers you have specified.
If you do not want to use the default security resolution, you can change it for all workflows by using the Config Security Resolution Option for all workflows or for one individual workflow by using the Specific Security Resolution Option or to a single record by Setting Custom Security Resolution Options.
Entity Resolution Logic
Warehouse Objects use entity resolution logic that is similar to the logic used by Reference and Entity Objects, but simplified.
The lookup used (eagle/star/pan-qentityxreference.htm) contains important elements around the code to implement the entity resolution logic:
Note
There are 2 methods to specify the Entity Id element for Warehouse objects:
- by Entity Xref Identifiers and
- directly in entityId element of incoming EagleML message
Additional Details Around Resolving Entity Directly in entityId Element of Incoming EagleML Message
1. If the elements Xref Account Id and Xref Account Id Type are present in the incoming EagleML message:
In this case the value of Entity Id element is defined in the lookup by input parameters Xref Account Id (mapped Into RULESDBO.ENTITY_XREFERENCE.XREF_ACCOUNT_ID) and Xref Account Id Type (mapped Into RULESDBO.ENTITY_XREFERENCE.XREF_ACCOUNT_ID_TYPE).
The resulting value (mapped from the RULESDBO.ENTITY_XREFERENCE.ENTITY_ID) will be mapped into HOLDINGDBO.POSITION.ENTITY_ID database field.
An example of Entity Xreference Identifiers in the incoming message:
<EagleML> <header> ... </header> <warehouseTransaction> <header> ... </header> <warehousePosition> ... <xrefAccountId>X</xrefAccountId> <xrefAccountIdType>X</xrefAccountIdType> ... </warehousePosition> </warehouseTransaction> </EagleML>
2. If the Xref Account Id and Xref Account Id Type are not present in the incoming EagleML message:
The element Entity Id should not be null. The mapping into HOLDINGDBO.POSITION.ENTITY_ID database field will be direct.
Entity Identifiers can be found in the ‘Entity Common Id Model’ XSD Group. Refer to the Entity Common Id Model mapping for more details.
Modes of Data Loading
The Warehouse Trade inbound interface has 2 modes for loading data into the DB table:
In the batch mode the multiple rows could be loaded into the database from the one EagleML message. In this mode the element warehouseTransaction should be contained several complex elements warehouseTrade. Data from every element will be loaded into the database row.
See the example of incoming EagleML message to load data in Batch Mode:
Batch Key Element
When using the batch mode, the data from the complex elements warehouseTrade should contain the same set of of element’s values: Entity Id + Effective Date + Source Name. The set of values for grouping should be specified in the element warehouseTransaction/batchKey.
The format of Batch Key (warehouseTransaction/batchKey element): entityId^effectiveDate^sourceName
- entityId – the element warehouseTransaction/warehouseTrade/entityId. It should be specified if it mapped from the EagleML message directly (in the warehouseTransaction/warehouseTrade/entityId). If the value of entityId is defined by the warehouseTransaction/warehouseTrade/xrefAccountId and warehouseTransaction/warehouseTrade/xrefAccountIdType elements, the first part of warehouseTransaction/batchKey could be any. The batch key will be updated by calculated entityId element.
- effectiveDate – the element warehouseTransaction/warehouseTrade/effectiveDate. It should be specified in data format YYYYMMDD.
- sourceName – the element warehouseTransaction/warehouseTrade/sourceName.
Examples of a valid Batch Key:
<batchKey>COMPTST1^20140120^EAGLE PACE</batchKey>
<batchKey>entity^20140120^EAGLE PACE</batchKey>
Insert/Update
The stored procedure for the batch mode supports only the inserting data into the database.
Use the single row mode for updating every database row.
The UPSERT mode is used if the element Batch Key (warehouseTransaction/batchKey element) is not present or null in the incoming EagleML message.
For the single row mode, the warehouseTransaction node can contains only one warehouseTrade complex element.
The set of values – key of record:
Security Alias + Source Name + Entity Id + Master Ticket Number + Event ID (star_tag25)
To insert new data the database set of specified above values should not exist. To update a data record with your message, you should make it up with the full database set of values determined.
Examples of use:
- Warehouse Trade - UPSERT Mode, Insert Data Example
- Warehouse Trade - UPSERT Mode, Update Data Example
- No labels