RegulatoryTransactionReportCancellationRequestV02

auth.009.001.02

Scope A reporting institution, eg, an investment bank, sends the RegulatoryTransactionReportCancellationRequest to a regulator or to an intermediary (eg a reporting agent), to request a cancellation of a previously sent RegulatoryTransactionReport. Usage The message definition can be used to cancel an entire RegulatoryTransactionReport or to cancel one or more individual transactions in a previously sent RegulatoryTransactionReport.

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
%% RegulatoryTransactionReportCancellationRequestV02 recursion level 0 with max 0
RegulatoryTransactionReportCancellationRequestV02 *-- "1..1" DocumentIdentification8 : Identification
RegulatoryTransactionReportCancellationRequestV02 *-- "1..1" IPartyIdentification23Choice : ReportingInstitution
RegulatoryTransactionReportCancellationRequestV02 *-- "0..1" IPartyIdentification24Choice : ReportingAgent
RegulatoryTransactionReportCancellationRequestV02 *-- "1..1" TransactionDetails3 : CancellationByTransactionDetails
RegulatoryTransactionReportCancellationRequestV02 *-- "1..1" DocumentIdentification9 : PreviousReference
RegulatoryTransactionReportCancellationRequestV02 *-- "1..1" TransactionDetails2 : CancellationByTradeReference
  

Now, we will zero-in one-by-one on each of these building blocks.

Identification building block

Identification of the RegulatoryTransactionReportCancellationRequest document. Identifies the document by providing a unique identification and optionally the date/time of the creation of the document. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% DocumentIdentification8 recursion level 0 with max 1
class DocumentIdentification8{
    Identification IsoMax35Text
    CreationDateTime IsoISODateTime
}
  

DocumentIdentification8 members

Member name Description Data Type / Multiplicity
Identification Unique identification of the document. IsoMax35Text - Required 1..1
CreationDateTime Date/time of the creation of the document. IsoISODateTime - Optional 0..1

ReportingInstitution building block

Identification of the firm that executed the transaction. . Choice of identification of a party. The party can be identified by giving a BIC or a proprietary code. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IPartyIdentification23Choice recursion level 0 with max 1
  

PartyIdentification23Choice members

Member name Description Data Type / Multiplicity

ReportingAgent building block

Identifies the intermediary which is reporting on behalf on the reporting institution. Choice of identification of a party. The party can be identified by providing a BIC or a MIC. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IPartyIdentification24Choice recursion level 0 with max 1
  

PartyIdentification24Choice members

Member name Description Data Type / Multiplicity

CancellationByTransactionDetails building block

Provides all the details of the transaction report that needs to be cancelled. More than one set of details can be provided.

. Details of the transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TransactionDetails3 recursion level 0 with max 1
class TransactionDetails3{
    TradeReference IsoMax70Text
    AssociatedTradeReference IsoMax70Text
    TradeDateTime IsoISODateTime
    Side OrderDriverCode
    Capacity TradingCapacity3Code
    SettlementAmount IsoActiveCurrencyAndAmount
    SettlementDate IsoISODateTime
    AdditionalInformation IsoMax350Text
}
TransactionDetails3 *-- "1..1" IPlaceOfTradeIdentification2Choice : PlaceOfTrade
TransactionDetails3 *-- "1..1" FinancialInstrument15 : FinancialInstrumentDetails
TransactionDetails3 *-- "0..10" IPartyIdentification24Choice : TransactionReportMarker
TransactionDetails3 *-- "1..1" IPartyIdentification11Choice : Counterparty
TransactionDetails3 *-- "0..1" PartyIdentification23 : Client
TransactionDetails3 *-- "1..1" IPriceRateOrAmountChoice : ExecutedTradePrice
TransactionDetails3 *-- "1..1" IUnitOrFaceAmountChoice : ExecutedTradeQuantity
TransactionDetails3 *-- "0..1" IPartyIdentification2Choice : ProxyHolder
%% IPlaceOfTradeIdentification2Choice recursion level 1 with max 1
%% FinancialInstrument15 recursion level 1 with max 1
FinancialInstrument15 *-- "1..1" ISecurityIdentification6Choice : Identification
FinancialInstrument15 *-- "0..1" SecurityInstrumentDescription2 : InstrumentDescription
FinancialInstrument15 *-- "0..1" ISecurityIdentification6Choice : UnderlyingInstrumentIdentification
%% IPartyIdentification24Choice recursion level 1 with max 1
%% IPartyIdentification11Choice recursion level 1 with max 1
%% PartyIdentification23 recursion level 1 with max 1
class PartyIdentification23{
    BICOrBEI IsoAnyBICIdentifier
}
PartyIdentification23 *-- "1..1" GenericIdentification1 : ProprietaryIdentification
PartyIdentification23 *-- "0..1" NameAndAddress5 : NameAndAddress
%% IPriceRateOrAmountChoice recursion level 1 with max 1
%% IUnitOrFaceAmountChoice recursion level 1 with max 1
%% IPartyIdentification2Choice recursion level 1 with max 1
  

TransactionDetails3 members

Member name Description Data Type / Multiplicity
TradeReference Unique identification assigned to a trade. This is the reference generated by a firm or the reference allocated by the executing system if the trade was executed automatically. IsoMax70Text - Required 1..1
AssociatedTradeReference Reference that links to other trades that are/will be sent, eg for straddles where put and call legs need to be reported together. IsoMax70Text - Unknown 0..0
PlaceOfTrade Identifies the execution venue. In the case of an exchange or a Multilateral Trading Facility (MTF), this should be identified using a MIC code. In the case of a systematic internaliser, place of trade should be identified using a BIC code. IPlaceOfTradeIdentification2Choice - Required 1..1
TradeDateTime Specifies the date/time on which the trade was executed. IsoISODateTime - Required 1..1
FinancialInstrumentDetails Provides details of the financial instrument for which the transaction report is being sent. FinancialInstrument15 - Required 1..1
Side Identifies whether the transaction was a buy or a sell from the perspective of the reporting firm. OrderDriverCode - Required 1..1
TransactionReportMarker Identifies the regulator(s) to whom the transaction report must be sent. IPartyIdentification24Choice - Collection 0..10
Counterparty Provides details of the counterparty. IPartyIdentification11Choice - Required 1..1
Client Provides details of the client. PartyIdentification23 - Optional 0..1
Capacity Identifies the trading capacity of the firm reporting the transaction, eg Agent or Principal. TradingCapacity3Code - Required 1..1
ExecutedTradePrice Specifies the currency and price at which the trade has been executed, excluding commission or accrued interest. IPriceRateOrAmountChoice - Required 1..1
ExecutedTradeQuantity Quantity of financial instrument executed by the trading party. IUnitOrFaceAmountChoice - Required 1..1
SettlementAmount The total consideration or value. IsoActiveCurrencyAndAmount - Optional 0..1
SettlementDate Identifies the intended settlement date. IsoISODateTime - Optional 0..1
ProxyHolder Provides details of the person/organisation that has the power of attorney. IPartyIdentification2Choice - Optional 0..1
AdditionalInformation Additional domestic regulatory transaction information. IsoMax350Text - Optional 0..1

PreviousReference building block

Provides the reference of the RegulatoryTransactionReport document that was previously sent and that needs to be cancelled in its entirety. Identifies a document by a unique identification. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% DocumentIdentification9 recursion level 0 with max 1
class DocumentIdentification9{
    Identification IsoMax35Text
}
  

DocumentIdentification9 members

Member name Description Data Type / Multiplicity
Identification Identifies the document. IsoMax35Text - Required 1..1

CancellationByTradeReference building block

Provides the trade reference of the transaction report that needs to be cancelled. More than one reference may be provided. Reference of the trade transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TransactionDetails2 recursion level 0 with max 1
class TransactionDetails2{
    TradeReference IsoMax70Text
}
  

TransactionDetails2 members

Member name Description Data Type / Multiplicity
TradeReference Unique identification assigned to a trade once it is received or matched by an executing system. IsoMax70Text - Required 1..1

Extensibility and generalization considerations

To facilitate generalized design patterns in the system, the RegulatoryTransactionReportCancellationRequestV02 implementation follows a specific implementaiton pattern. First of all, RegulatoryTransactionReportCancellationRequestV02 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, RegulatoryTransactionReportCancellationRequestV02Document implements IOuterDocument. Because RegulatoryTransactionReportCancellationRequestV02 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type RegulatoryTransactionReportCancellationRequestV02.

classDiagram
    class IOuterRecord
    RegulatoryTransactionReportCancellationRequestV02 --|> IOuterRecord : Implements
    RegulatoryTransactionReportCancellationRequestV02Document --|> IOuterDocument~RegulatoryTransactionReportCancellationRequestV02~ : Implements
    class IOuterDocument~RegulatoryTransactionReportCancellationRequestV02~ {
        RegulatoryTransactionReportCancellationRequestV02 Message
     }
  

Document wrapper for serialization

The only real purpose RegulatoryTransactionReportCancellationRequestV02Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:auth.009.001.02’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using RegulatoryTransactionReportCancellationRequestV02.ToDocument() method. The returned RegulatoryTransactionReportCancellationRequestV02Document value will serialize correctly according to ISO 20022 standards.

classDiagram
    RegulatoryTransactionReportCancellationRequestV02Document *-- RegulatoryTransactionReportCancellationRequestV02 : 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:auth.009.001.02">
    <RgltryTxRptCxlReq>
        <Id>
            <!-- Identification inner content -->
        </Id>
        <RptgInstn>
            <!-- ReportingInstitution inner content -->
        </RptgInstn>
        <RptgAgt>
            <!-- ReportingAgent inner content -->
        </RptgAgt>
        <CxlByTxDtls>
            <!-- CancellationByTransactionDetails inner content -->
        </CxlByTxDtls>
        <PrvsRef>
            <!-- PreviousReference inner content -->
        </PrvsRef>
        <CxlByTradRef>
            <!-- CancellationByTradeReference inner content -->
        </CxlByTradRef>
    </RgltryTxRptCxlReq>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_gJOkFMIFEeGllrOKQRUTYA_-2116922160"
  name="RegulatoryTransactionReportCancellationRequestV02"
  definition="Scope&#xD;&#xA;A reporting institution, eg, an investment bank, sends the RegulatoryTransactionReportCancellationRequest to a regulator or to an intermediary (eg a reporting agent), to request a cancellation of a previously sent RegulatoryTransactionReport.&#xD;&#xA;Usage&#xD;&#xA;The message definition can be used to cancel an entire RegulatoryTransactionReport or to cancel one or more individual transactions in a previously sent RegulatoryTransactionReport."
  registrationStatus="Registered"
  messageSet="_wRoFwU2rEeG_I4xRYCA_7g"
  xmlTag="RgltryTxRptCxlReq"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <xors
    xmi:id="_gJiGEcIFEeGllrOKQRUTYA_-2116921710"
    name="CancellationByPreviousReferenceOrTradeReferenceOrTransactionDetailsRule"
    definition="Either PreviousReference or one or more instances of CancellationByTransactionDetails or one or more instances of CancellationByTradeReference must be present."
    registrationStatus="Provisionally Registered"
    impactedMessageBuildingBlocks="_gJYVE8IFEeGllrOKQRUTYA_-2116922081 _gJYVFMIFEeGllrOKQRUTYA_-2116922099 _gJiGEMIFEeGllrOKQRUTYA_-2116922038" />
  <messageBuildingBlock
    xmi:id="_gJYVEMIFEeGllrOKQRUTYA_-2116922142"
    name="Identification"
    definition="Identification of the RegulatoryTransactionReportCancellationRequest document."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Id"
    complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
  <messageBuildingBlock
    xmi:id="_gJYVEcIFEeGllrOKQRUTYA_-2116922021"
    name="ReportingInstitution"
    definition="Identification of the firm that executed the transaction.&#xA;."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="RptgInstn"
    complexType="_QReIgdp-Ed-ak6NoX_4Aeg_-1086683076" />
  <messageBuildingBlock
    xmi:id="_gJYVEsIFEeGllrOKQRUTYA_-2116921978"
    name="ReportingAgent"
    definition="Identifies the intermediary which is reporting on behalf on the reporting institution."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="RptgAgt"
    complexType="_QReIhNp-Ed-ak6NoX_4Aeg_-550871246" />
  <messageBuildingBlock
    xmi:id="_gJYVE8IFEeGllrOKQRUTYA_-2116922081"
    name="CancellationByTransactionDetails"
    definition="Provides all the details of the transaction report that needs to be cancelled. More than one set of details can be provided.&#xA;&#xA;."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="CxlByTxDtls"
    complexType="_S-6mMdp-Ed-ak6NoX_4Aeg_-160365271" />
  <messageBuildingBlock
    xmi:id="_gJYVFMIFEeGllrOKQRUTYA_-2116922099"
    name="PreviousReference"
    definition="Provides the reference of the RegulatoryTransactionReport document that was previously sent and that needs to be cancelled in its entirety."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="PrvsRef"
    complexType="_RXpteNp-Ed-ak6NoX_4Aeg_66239534" />
  <messageBuildingBlock
    xmi:id="_gJiGEMIFEeGllrOKQRUTYA_-2116922038"
    name="CancellationByTradeReference"
    definition="Provides the trade reference of the transaction report that needs to be cancelled. More than one reference may be provided."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="CxlByTradRef"
    complexType="_S-xcR9p-Ed-ak6NoX_4Aeg_946629114" />
  <messageDefinitionIdentifier
    businessArea="auth"
    messageFunctionality="009"
    flavour="001"
    version="02" />
</messageDefinition>

ISO Building Blocks

The following items are used as building blocks to construct this message.