FpML Issues Tracker
closed
Minor
Always
Modeling Task Force
Admin
mgratacos
Summary
Looking at the proposed rule shared-18 it is apparent that the structure of 1..* parties in a message is very common and could do with refactoring into a type.
Some degree of refactoring would make rules such as shared-18 much simpler.
"The new rule is: " shared-18 (Mandatory) Context: AcceptQuote (complex type), AllocationAmended (complex type), AllocationCancelled (complex type), AllocationCreated (complex type), AmendmentConfirmed (complex type), CancelTradeCashflows (complex type), CancelTradeConfirmation (complex type), CancelTradeMatch (complex type), ConfirmationCancelled (complex type), ConfirmTrade (complex type), ContractCreated (complex type), ContractFullTermination (complex type), ContractFullTerminationCancelled (complex type), ContractIncreased (complex type), ContractIncreasedCancelled (complex type), ContractNovated (complex type), ContractNovatedCancelled (complex type), ContractPartialTermination (complex type), ContractPartialTerminationCancelled (complex type), ContractReferenceMessage (complex type), CreditEventNotification (complex type), DataDocument (complex type), DrawdownNotice (complex type), IncreaseConfirmed (complex type), InterestPaymentNotice (complex type), ModifyTradeConfirmation (complex type), ModifyTradeMatch (complex type), NovationMessage.model (group), OneOffFeeNotice (complex type), OnGoingFeeNotice (complex type), PositionReport (complex type), PositionsAcknowledged (complex type), PositionsAsserted (complex type), PositionsMatchResults (complex type), Quote (complex type), QuoteAcceptanceConfirmed (complex type), QuoteUpdated (complex type), RepaymentConfirmationNotice (complex type), RepaymentNotice (complex type), RequestAllocation (complex type), RequestAmendmentConfirmation (complex type), RequestIncreaseConfirmation (complex type), RequestPortfolio (complex type), RequestPositionReport (complex type), RequestQuote (complex type), RequestQuoteResponse (complex type), RequestTerminationConfirmation (complex type), RequestTradeConfirmation (complex type), RequestTradeMatch (complex type), RequestTradeStatus (complex type), RequestValuationReport (complex type), TerminationConfirmed (complex type), TradeAffirmation (complex type), TradeAffirmed (complex type), TradeAlleged (complex type), TradeAlreadyMatched (complex type), TradeAlreadySubmitted (complex type), TradeAmended (complex type), TradeAmendmentRequest (complex type), TradeAmendmentResponse (complex type), TradeCancelled (complex type), TradeCashflowsAsserted (complex type), TradeCashflowsMatchResult (complex type), TradeConfirmed (complex type), TradeCreated (complex type), TradeErrorResponse (complex type), TradeExecution (complex type), TradeExecutionCancelled (complex type), TradeExecutionModified (complex type), TradeIncreaseRequest (complex type), TradeIncreaseResponse (complex type), TradeMatched (complex type), TradeMismatched (complex type), TradeNotFound (complex type), TradeStatus (complex type), TradeTerminationRequest (complex type), TradeTerminationResponse (complex type), TradeUnmatched (complex type), ValuationReport (complex type) Rule: Each party/partyId must be unique. The equivalence test for uniqueness tests the partyId content and partyIdScheme as strings. Additionally, where it exists each party/partyName must be unique. Comment: Each party must be disjoint. "
Notes:
mgratacos
08/01/19 11:44 am
AWG 2019-08-01
mgratacos
08/19/19 11:54 am
Updated contexts as of 2019-08-19:
<rule id=”shared-18″ version-min=”4″ version-max=”&fpml.version. number;” severity=”Mandatory”> </context> ved</context> ed</context> otification</context> ed</context> lity</context> </context> /context> eed</context> puted</context> racted</context> tus</context> /context> /context> fication</context> ficationRetracted</context> context> context> nowledgement</context> onse</context> context> </context> Retracted</context> cation</context> ted</context> ation</context> nStatement</context> nt</context> /context> otification</context> ngNotification</context> ification</context> nAcknowledgement</context> nException</context> nRetracted</context> eStatement</context> cation</context> ation</context> ractsStatement</context> tingStatusMessage</context> on</context> onRetracted</context> </context> Eligibility</context> Retracted</context> alAllocation</context> tion</context> /context> etracted</context> n</context> nRetracted</context> ryReportingStatusMessage</ context> ission</context> erenceInformationUpdate</ context> erenceInformationUpdateRetract ed</context> ce</context> ceRetracted</context> nt</context> tusNotification</context> xml”/>
<comment>Both a party’s name and party Id must be unique. The partyIdScheme is part of the partyId uniqueness check.</comment>
<context datatype=”yes”>Acknowledgement
<context datatype=”yes”>AllocationAppro
<context datatype=”yes”>AllocationRefus
<context datatype=”yes”>ApprovalStatusN
<context datatype=”yes”>ClearingConfirm
<context datatype=”yes”>ClearingEligibi
<context datatype=”yes”>ClearingRefused
<context datatype=”yes”>ClearingStatus<
<context datatype=”yes”>ConfirmationAgr
<context datatype=”yes”>ConfirmationDis
<context datatype=”yes”>ConfirmationRet
<context datatype=”yes”>ConfirmationSta
<context datatype=”yes”>ConsentGranted<
<context datatype=”yes”>ConsentRefused<
<context datatype=”yes”>CreditEventNoti
<context datatype=”yes”>CreditEventNoti
<context datatype=”yes”>DataDocument</
<context datatype=”yes”>DealStatement</
<context datatype=”yes”>EventRequestAck
<context datatype=”yes”>EventStatusResp
<context datatype=”yes”>Exception</
<context datatype=”yes”>ExecutionAdvice
<context datatype=”yes”>ExecutionAdvice
<context datatype=”yes”>ExecutionNotifi
<context datatype=”yes”>ExecutionRetrac
<context datatype=”yes”>FacilityNotific
<context datatype=”yes”>FacilityPositio
<context datatype=”yes”>FacilityStateme
<context datatype=”yes”>LcNotification<
<context datatype=”yes”>LoanAllocationN
<context datatype=”yes”>LoanBulkServici
<context datatype=”yes”>LoanContractNot
<context datatype=”yes”>LoanNotificatio
<context datatype=”yes”>LoanNotificatio
<context datatype=”yes”>LoanNotificatio
<context datatype=”yes”>LoanPartyProfil
<context datatype=”yes”>LoanTradeNotifi
<context datatype=”yes”>MaturityNotific
<context datatype=”yes”>OutstandingCont
<context datatype=”yes”>RegulatoryRepor
<context datatype=”yes”>RequestAllocati
<context datatype=”yes”>RequestAllocati
<context datatype=”yes”>RequestClearing
<context datatype=”yes”>RequestClearing
<context datatype=”yes”>RequestClearing
<context datatype=”yes”>RequestCollater
<context datatype=”yes”>RequestConfirma
<context datatype=”yes”>RequestConsent<
<context datatype=”yes”>RequestConsentR
<context datatype=”yes”>RequestExecutio
<context datatype=”yes”>RequestExecutio
<context datatype=”yes”>RequestRegulato
<context datatype=”yes”>RequestRetransm
<context datatype=”yes”>RequestTradeRef
<context datatype=”yes”>RequestTradeRef
<context datatype=”yes”>TradeChangeAdvi
<context datatype=”yes”>TradeChangeAdvi
<context datatype=”yes”>ValuationDocume
<context datatype=”yes”>VerificationSta
<englishDescription>Each <el>party/partyId</el> must be unique. Each <el>party/partyName</el> must be unique.</englishDescription>
<testcases>
<invalid href=”invalid-shared-18-01.
</testcases>
</rule>
mgratacos
08/21/19 4:48 am
This change will be published in the FpML 5.11 Last Call Working Draft version.