setr.029.001.02
Scope Sent by an executing party to an instructing party directly or through Central Matching Utility (CMU) to cancel the referenced SecuritiesTradeConfirmation message that was previously sent. The instructing party is typically the investment manager or an intermediary system/vendor communicating on behalf of the investment manager or of other categories of investors. The executing party is typically the broker/dealer or an intermediary system/vendor communicating on behalf of the broker/dealer. It may also be used to cancel the trade confirmation previously sent from an executing party or an instructing party to a custodian or an affirming party directly or through CMU. The ISO 20022 Business Application Header must be used Usage Initiator: Both in local and central matching, the Initiator may be either the Executing Party or Instructing Party. Respondent: Instructing party, a custodian or an affirming party optionally responds with SecuritiesTradeConfirmationResponse (accept or reject) message.
Message Construction
Every ISO20022 message has at the highest level what we call ‘building blocks’. Because the message is constructed as immutable records, the association is by composition. Below you can see the relationship between the message and its constituent building blocks: For comparison, see the ISO20022 official specification
classDiagram direction LR %% SecuritiesTradeConfirmationCancellationV02 recursion level 0 with max 0 SecuritiesTradeConfirmationCancellationV02 *-- "1..1" TransactiontIdentification4 : Identification SecuritiesTradeConfirmationCancellationV02 *-- "0..1" Linkages52 : References SecuritiesTradeConfirmationCancellationV02 *-- "0..1" OtherParties45 : OtherBusinessParties SecuritiesTradeConfirmationCancellationV02 *-- "0..1" SupplementaryData1 : SupplementaryData
Now, we will zero-in one-by-one on each of these building blocks.
Identification building block
Information that unambiguously identifies an SecuritiesTradeConfirmationCancellation message as known by the account owner (or the instructing party acting on its behalf). Transaction identification. For comparison, see the ISO20022 official specification
classDiagram direction tb %% TransactiontIdentification4 recursion level 0 with max 1 class TransactiontIdentification4{ TransactionIdentification IsoMax35Text }
TransactiontIdentification4 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
TransactionIdentification | Unambiguous identification of the transaction as known by the instructing party. | IsoMax35Text - Required 1..1 |
References building block
Link to another transaction that must be processed after, before or at the same time. Information related to a linked transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Linkages52 recursion level 0 with max 1 Linkages52 *-- "0..1" IDocumentNumber17Choice : MessageNumber Linkages52 *-- "1..1" IIdentificationReference8Choice : Reference %% IDocumentNumber17Choice recursion level 1 with max 1 %% IIdentificationReference8Choice recursion level 1 with max 1
Linkages52 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
MessageNumber | Message type number/message identifier of the message referenced in the linkage sequence. | IDocumentNumber17Choice - Optional 0..1 |
Reference | Reference to the linked transaction. | IIdentificationReference8Choice - Required 1..1 |
OtherBusinessParties building block
Chain of parties involved in the settlement of a transaction, including receipts and deliveries, book transfers, treasury deals, or other activities, resulting in the movement of a security or amount of money from one account to another. Provides details about business parties involved in the transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% OtherParties45 recursion level 0 with max 1 OtherParties45 *-- "0..0" PartyIdentificationAndAccount220 : Investor OtherParties45 *-- "0..1" PartyIdentificationAndAccount152 : StockExchange OtherParties45 *-- "0..1" PartyIdentificationAndAccount152 : TradeRegulator OtherParties45 *-- "0..1" PartyIdentificationAndAccount154 : TripartyAgent OtherParties45 *-- "0..1" PartyIdentificationAndAccount221 : QualifiedForeignIntermediary %% PartyIdentificationAndAccount220 recursion level 1 with max 1 class PartyIdentificationAndAccount220{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text CountryOfResidence CountryCode } PartyIdentificationAndAccount220 *-- "0..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount220 *-- "0..1" ICashAccountIdentification5Choice : CashAccount PartyIdentificationAndAccount220 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount220 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount152 recursion level 1 with max 1 class PartyIdentificationAndAccount152{ ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount152 *-- "1..1" IPartyIdentification245Choice : Identification PartyIdentificationAndAccount152 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount152 *-- "0..1" AlternatePartyIdentification10 : AlternateIdentification %% PartyIdentificationAndAccount152 recursion level 1 with max 1 class PartyIdentificationAndAccount152{ ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount152 *-- "1..1" IPartyIdentification245Choice : Identification PartyIdentificationAndAccount152 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount152 *-- "0..1" AlternatePartyIdentification10 : AlternateIdentification %% PartyIdentificationAndAccount154 recursion level 1 with max 1 class PartyIdentificationAndAccount154{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount154 *-- "1..1" IPartyIdentification245Choice : Identification PartyIdentificationAndAccount154 *-- "0..1" ICashAccountIdentification5Choice : CashAccount PartyIdentificationAndAccount154 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount154 *-- "0..1" AlternatePartyIdentification10 : AlternateIdentification %% PartyIdentificationAndAccount221 recursion level 1 with max 1 class PartyIdentificationAndAccount221{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount221 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount221 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification PartyIdentificationAndAccount221 *-- "0..1" PartyTextInformation1 : AdditionalInformation
OtherParties45 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Investor | Party that identifies the underlying investor. | PartyIdentificationAndAccount220 - Unknown 0..0 |
StockExchange | Party that identifies the stock exchange. | PartyIdentificationAndAccount152 - Optional 0..1 |
TradeRegulator | Party that identifies the trade regulator. | PartyIdentificationAndAccount152 - Optional 0..1 |
TripartyAgent | Party that handles tri-party transactions. | PartyIdentificationAndAccount154 - Optional 0..1 |
QualifiedForeignIntermediary | Foreign Financial Institution which has been authorised by local authorities to act as account management institution in the country. | PartyIdentificationAndAccount221 - Optional 0..1 |
SupplementaryData building block
Additional information that cannot be captured in the structured elements and/or any other specific block. Additional information that can not be captured in the structured fields and/or any other specific block. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SupplementaryData1 recursion level 0 with max 1 class SupplementaryData1{ PlaceAndName IsoMax350Text } SupplementaryData1 *-- "1..1" IsoSupplementaryDataEnvelope1 : Envelope %% IsoSupplementaryDataEnvelope1 recursion level 1 with max 1
SupplementaryData1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
PlaceAndName | Unambiguous reference to the location where the supplementary data must be inserted in the message instance. In the case of XML, this is expressed by a valid XPath. | IsoMax350Text - Optional 0..1 |
Envelope | Technical element wrapping the supplementary data. | IsoSupplementaryDataEnvelope1 - Required 1..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the SecuritiesTradeConfirmationCancellationV02 implementation follows a specific implementaiton pattern. First of all, SecuritiesTradeConfirmationCancellationV02 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, SecuritiesTradeConfirmationCancellationV02Document implements IOuterDocument. Because SecuritiesTradeConfirmationCancellationV02 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type SecuritiesTradeConfirmationCancellationV02.
classDiagram class IOuterRecord SecuritiesTradeConfirmationCancellationV02 --|> IOuterRecord : Implements SecuritiesTradeConfirmationCancellationV02Document --|> IOuterDocument~SecuritiesTradeConfirmationCancellationV02~ : Implements class IOuterDocument~SecuritiesTradeConfirmationCancellationV02~ { SecuritiesTradeConfirmationCancellationV02 Message }
Document wrapper for serialization
The only real purpose SecuritiesTradeConfirmationCancellationV02Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:setr.029.001.02’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using SecuritiesTradeConfirmationCancellationV02.ToDocument() method. The returned SecuritiesTradeConfirmationCancellationV02Document value will serialize correctly according to ISO 20022 standards.
classDiagram SecuritiesTradeConfirmationCancellationV02Document *-- SecuritiesTradeConfirmationCancellationV02 : Document
Sample of message format
This is an abbreviated version of what the message should look like.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:setr.029.001.02">
<SctiesTradConfCxl>
<Id>
<!-- Identification inner content -->
</Id>
<Refs>
<!-- References inner content -->
</Refs>
<OthrBizPties>
<!-- OtherBusinessParties inner content -->
</OthrBizPties>
<SplmtryData>
<!-- SupplementaryData inner content -->
</SplmtryData>
</SctiesTradConfCxl>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_q-sQUQNmEe2P7e2qGFFOGg"
previousVersion="_RJ4jMOQXEeCGktPI9k4Dlw_1174499492"
name="SecuritiesTradeConfirmationCancellationV02"
definition="Scope
Sent by an executing party to an instructing party directly or through Central Matching Utility (CMU) to cancel the referenced SecuritiesTradeConfirmation message that was previously sent.
The instructing party is typically the investment manager or an intermediary system/vendor communicating on behalf of the investment manager or of other categories of investors.
The executing party is typically the broker/dealer or an intermediary system/vendor communicating on behalf of the broker/dealer.
It may also be used to cancel the trade confirmation previously sent from an executing party or an instructing party to a custodian or an affirming party directly or through CMU.
The ISO 20022 Business Application Header must be used
Usage
Initiator: Both in local and central matching, the Initiator may be either the Executing Party or Instructing Party.
Respondent: Instructing party, a custodian or an affirming party optionally responds with SecuritiesTradeConfirmationResponse (accept or reject) message."
registrationStatus="Registered"
messageSet="_oOGmoHkPEeOUfbICsvs_4A"
xmlTag="SctiesTradConfCxl"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_q-sQVwNmEe2P7e2qGFFOGg"
previousVersion="_RJ4jMeQXEeCGktPI9k4Dlw_-1509857852"
name="Identification"
definition="Information that unambiguously identifies an SecuritiesTradeConfirmationCancellation message as known by the account owner (or the instructing party acting on its behalf)."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Id"
complexType="_Ab8KktokEeC60axPepSq7g_597298616" />
<messageBuildingBlock
xmi:id="_q-sQWQNmEe2P7e2qGFFOGg"
previousVersion="_RJ4jMuQXEeCGktPI9k4Dlw_135409583"
name="References"
definition="Link to another transaction that must be processed after, before or at the same time."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="Refs"
complexType="_cwOuIZBgEeakHoV5BVecAQ" />
<messageBuildingBlock
xmi:id="_q-sQWwNmEe2P7e2qGFFOGg"
previousVersion="_RJ4jM-QXEeCGktPI9k4Dlw_588788110"
name="OtherBusinessParties"
definition="Chain of parties involved in the settlement of a transaction, including receipts and deliveries, book transfers, treasury deals, or other activities, resulting in the movement of a security or amount of money from one account to another."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="OthrBizPties"
complexType="_UDMVIQasEe2phaVG0lYKTw" />
<messageBuildingBlock
xmi:id="_q-sQXQNmEe2P7e2qGFFOGg"
previousVersion="_RJ4jNOQXEeCGktPI9k4Dlw_-206107615"
name="SupplementaryData"
definition="Additional information that cannot be captured in the structured elements and/or any other specific block."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="SplmtryData"
complexType="_Qn0zC9p-Ed-ak6NoX_4Aeg_468227563" />
<messageDefinitionIdentifier
businessArea="setr"
messageFunctionality="029"
flavour="001"
version="02" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.