seev.020.001.01
Scope This message is sent by an issuer (or its agent) to a CSD to request the cancellation of (a) movement(s) previously sent via an Agent Corporate Action Movement Instruction. Usage This message may be used to cancel an entire Agent Corporate Action Movement Instruction message that was previously sent by the issuer (or its agent) or specific movements. This message must contain the identification of the Agent Corporate Action Movement Instruction containing the movement(s) to be cancelled, the agent identification and the corporate action references. This message must also contain details of the movement(s) to be cancelled.
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 %% AgentCAMovementCancellationRequestV01 recursion level 0 with max 0 AgentCAMovementCancellationRequestV01 *-- "1..1" DocumentIdentification8 : Identification AgentCAMovementCancellationRequestV01 *-- "1..1" DocumentIdentification8 : AgentCAMovementInstructionIdentification AgentCAMovementCancellationRequestV01 *-- "1..1" CorporateActionInformation1 : CorporateActionGeneralInformation AgentCAMovementCancellationRequestV01 *-- "0..1" MovementInstruction1 : MovementDetails
Now, we will zero-in one-by-one on each of these building blocks.
Identification building block
Identification assigned by the Sender to unambiguously identify the cancellation request. 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 |
AgentCAMovementInstructionIdentification building block
Identification of the Agent CA Movement Instruction to be cancelled. 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 |
CorporateActionGeneralInformation building block
General information about the corporate action event. General information about the corporate action event. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionInformation1 recursion level 0 with max 1 class CorporateActionInformation1{ IssuerCorporateActionIdentification IsoMax35Text CorporateActionProcessingIdentification IsoMax35Text } CorporateActionInformation1 *-- "1..1" IPartyIdentification2Choice : AgentIdentification CorporateActionInformation1 *-- "1..1" ICorporateActionEventType2FormatChoice : EventType CorporateActionInformation1 *-- "1..1" ICorporateActionMandatoryVoluntary1FormatChoice : MandatoryVoluntaryEventType CorporateActionInformation1 *-- "0..1" ICorporateActionEventProcessingType1FormatChoice : EventProcessingType CorporateActionInformation1 *-- "1..1" FinancialInstrumentDescription3 : UnderlyingSecurity %% IPartyIdentification2Choice recursion level 1 with max 1 %% ICorporateActionEventType2FormatChoice recursion level 1 with max 1 %% ICorporateActionMandatoryVoluntary1FormatChoice recursion level 1 with max 1 %% ICorporateActionEventProcessingType1FormatChoice recursion level 1 with max 1 %% FinancialInstrumentDescription3 recursion level 1 with max 1 class FinancialInstrumentDescription3{ PlaceOfListing IsoMICIdentifier } FinancialInstrumentDescription3 *-- "1..1" SecurityIdentification7 : SecurityIdentification FinancialInstrumentDescription3 *-- "0..1" IPartyIdentification2Choice : SafekeepingPlace
CorporateActionInformation1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
AgentIdentification | Identification of the issuer agent. | IPartyIdentification2Choice - Required 1..1 |
IssuerCorporateActionIdentification | Reference given to the event by the CA event issuer (agent). | IsoMax35Text - Optional 0..1 |
CorporateActionProcessingIdentification | Reference assigned by the account servicer to unambiguously identify a corporate action event. | IsoMax35Text - Optional 0..1 |
EventType | Type of corporate action event. | ICorporateActionEventType2FormatChoice - Required 1..1 |
MandatoryVoluntaryEventType | Specifies whether the event is mandatory, mandatory with options or voluntary. | ICorporateActionMandatoryVoluntary1FormatChoice - Required 1..1 |
EventProcessingType | Type of processing involved by a Corporate Action. | ICorporateActionEventProcessingType1FormatChoice - Optional 0..1 |
UnderlyingSecurity | Identification of the underlying financial instrument, ie, the financial instrument affected by the corporate action event. | FinancialInstrumentDescription3 - Required 1..1 |
MovementDetails building block
Details of the movement instructions to be cancelled. Details of the movement instructions. For comparison, see the ISO20022 official specification
classDiagram direction tb %% MovementInstruction1 recursion level 0 with max 1 MovementInstruction1 *-- "1..1" CorporateActionMovement1 : MovementGeneralInformation MovementInstruction1 *-- "0..0" UnderlyingSecurityMovement1 : UnderlyingSecuritiesMovementDetails MovementInstruction1 *-- "0..0" CashMovement2 : UnderlyingCashMovementDetails MovementInstruction1 *-- "0..0" ProceedsMovement1 : ProceedsMovementDetails %% CorporateActionMovement1 recursion level 1 with max 1 class CorporateActionMovement1{ OrderType DistributionInstructionType1Code HighPriorityIndicator IsoYesNoIndicator OptionNumber IsoExact3NumericText RequestedExecutionDate IsoISODate AccountIdentification IsoMax35Text } CorporateActionMovement1 *-- "0..1" ICorporateActionOption1FormatChoice : OptionType CorporateActionMovement1 *-- "0..1" IPartyIdentification2Choice : AccountOwnerIdentification CorporateActionMovement1 *-- "0..1" IUnitOrFaceAmount1Choice : ConfirmedBalanceSecuritiesQuantity %% UnderlyingSecurityMovement1 recursion level 1 with max 1 UnderlyingSecurityMovement1 *-- "1..1" SecurityIdentification7 : SecurityIdentification UnderlyingSecurityMovement1 *-- "1..1" IUnitOrFaceAmount1Choice : SecuritiesQuantity UnderlyingSecurityMovement1 *-- "1..2" SecuritiesAccount8 : AccountDetails %% CashMovement2 recursion level 1 with max 1 class CashMovement2{ Amount IsoActiveCurrencyAndAmount } CashMovement2 *-- "1..2" CashAccount19 : AccountDetails %% ProceedsMovement1 recursion level 1 with max 1 ProceedsMovement1 *-- "0..0" CashProceeds1 : CashProceedsMovementDetails ProceedsMovement1 *-- "0..0" SecuritiesProceeds1 : SecuritiesProceedsMovementDetails ProceedsMovement1 *-- "0..1" TaxVoucher1 : TaxDetails
MovementInstruction1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
MovementGeneralInformation | Provides general information about the movement. | CorporateActionMovement1 - Required 1..1 |
UnderlyingSecuritiesMovementDetails | Provides information about the underlying securities movement. | UnderlyingSecurityMovement1 - Unknown 0..0 |
UnderlyingCashMovementDetails | Provides information about the underlying cash movement. | CashMovement2 - Unknown 0..0 |
ProceedsMovementDetails | Provides information about the proceeds, ie, outturned resources. | ProceedsMovement1 - Unknown 0..0 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the AgentCAMovementCancellationRequestV01 implementation follows a specific implementaiton pattern. First of all, AgentCAMovementCancellationRequestV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, AgentCAMovementCancellationRequestV01Document implements IOuterDocument. Because AgentCAMovementCancellationRequestV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type AgentCAMovementCancellationRequestV01.
classDiagram class IOuterRecord AgentCAMovementCancellationRequestV01 --|> IOuterRecord : Implements AgentCAMovementCancellationRequestV01Document --|> IOuterDocument~AgentCAMovementCancellationRequestV01~ : Implements class IOuterDocument~AgentCAMovementCancellationRequestV01~ { AgentCAMovementCancellationRequestV01 Message }
Document wrapper for serialization
The only real purpose AgentCAMovementCancellationRequestV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:seev.020.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using AgentCAMovementCancellationRequestV01.ToDocument() method. The returned AgentCAMovementCancellationRequestV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram AgentCAMovementCancellationRequestV01Document *-- AgentCAMovementCancellationRequestV01 : 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:seev.020.001.01">
<AgtCAMvmntCxlReq>
<Id>
<!-- Identification inner content -->
</Id>
<AgtCAMvmntInstrId>
<!-- AgentCAMovementInstructionIdentification inner content -->
</AgtCAMvmntInstrId>
<CorpActnGnlInf>
<!-- CorporateActionGeneralInformation inner content -->
</CorpActnGnlInf>
<MvmntDtls>
<!-- MovementDetails inner content -->
</MvmntDtls>
</AgtCAMvmntCxlReq>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_TOWFvNEwEd-BzquC8wXy7w_1509391155"
name="AgentCAMovementCancellationRequestV01"
definition="Scope
This message is sent by an issuer (or its agent) to a CSD to request the cancellation of (a) movement(s) previously sent via an Agent Corporate Action Movement Instruction.
Usage
This message may be used to cancel an entire Agent Corporate Action Movement Instruction message that was previously sent by the issuer (or its agent) or specific movements.
This message must contain the identification of the Agent Corporate Action Movement Instruction containing the movement(s) to be cancelled, the agent identification and the corporate action references. This message must also contain details of the movement(s) to be cancelled."
registrationStatus="Registered"
messageSet="_wRe70k2rEeG_I4xRYCA_7g"
xmlTag="AgtCAMvmntCxlReq"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_TOf2sNEwEd-BzquC8wXy7w_1790490668"
name="Identification"
definition="Identification assigned by the Sender to unambiguously identify the cancellation request."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Id"
complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
<messageBuildingBlock
xmi:id="_TOf2sdEwEd-BzquC8wXy7w_1808039955"
name="AgentCAMovementInstructionIdentification"
definition="Identification of the Agent CA Movement Instruction to be cancelled."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="AgtCAMvmntInstrId"
complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
<messageBuildingBlock
xmi:id="_TOf2stEwEd-BzquC8wXy7w_2016403103"
name="CorporateActionGeneralInformation"
definition="General information about the corporate action event."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="CorpActnGnlInf"
complexType="_TdxFY9p-Ed-ak6NoX_4Aeg_1155832018" />
<messageBuildingBlock
xmi:id="_TOf2s9EwEd-BzquC8wXy7w_1913625535"
name="MovementDetails"
definition="Details of the movement instructions to be cancelled."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="MvmntDtls"
complexType="_RirRtdp-Ed-ak6NoX_4Aeg_-1983038422" />
<messageDefinitionIdentifier
businessArea="seev"
messageFunctionality="020"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.