sese.009.001.01
Scope The RequestForTransferStatusReport is sent by an instructing party to the executing party. This message requests the status of a transfer instruction or the status of a transfer cancellation instruction. Usage The RequestForTransferStatusReport is sent by an instructing party to the executing party to request
- the status of one or several transfer instructions or
- the status of one or several transfer cancellation instructions.
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 %% RequestForTransferStatusReport recursion level 0 with max 0 RequestForTransferStatusReport *-- "1..1" MessageAndBusinessReference1 : RequestDetails
Now, we will zero-in one-by-one on each of these building blocks.
RequestDetails building block
Information to identify the transfer for which the status is requested. . Information about the message reference of the message for which the status is requested and the business reference of the transfer instruction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% MessageAndBusinessReference1 recursion level 0 with max 1 class MessageAndBusinessReference1{ TransferReference IsoMax35Text } MessageAndBusinessReference1 *-- "1..1" AdditionalReference2 : PreviousReference MessageAndBusinessReference1 *-- "1..1" AdditionalReference2 : OtherReference MessageAndBusinessReference1 *-- "0..1" InvestmentAccount10 : InvestmentAccountDetails %% AdditionalReference2 recursion level 1 with max 1 class AdditionalReference2{ Reference IsoMax35Text MessageName IsoMax35Text } AdditionalReference2 *-- "0..1" IPartyIdentification1Choice : ReferenceIssuer %% AdditionalReference2 recursion level 1 with max 1 class AdditionalReference2{ Reference IsoMax35Text MessageName IsoMax35Text } AdditionalReference2 *-- "0..1" IPartyIdentification1Choice : ReferenceIssuer %% InvestmentAccount10 recursion level 1 with max 1 class InvestmentAccount10{ AccountName IsoMax35Text AccountDesignation IsoMax35Text SecuritiesForm FormOfSecurity1Code DematerialisedIndicator IsoYesNoIndicator IncomePreference IncomePreference1Code BeneficiaryCertificationIndicator IsoYesNoIndicator } InvestmentAccount10 *-- "0..0" IPartyIdentification1Choice : OwnerIdentification InvestmentAccount10 *-- "1..1" AccountIdentification1 : AccountIdentification InvestmentAccount10 *-- "0..0" Intermediary1 : IntermediaryInformation InvestmentAccount10 *-- "0..1" IPartyIdentification1Choice : SafekeepingPlace InvestmentAccount10 *-- "0..1" IPartyIdentification1Choice : AccountServicer
MessageAndBusinessReference1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
PreviousReference | Reference to a linked message that was previously sent. | AdditionalReference2 - Required 1..1 |
OtherReference | Reference to a linked message sent in a proprietary way or the reference of a system. | AdditionalReference2 - Required 1..1 |
InvestmentAccountDetails | Investment account information of the transfer message for which the status is requested. | InvestmentAccount10 - Optional 0..1 |
TransferReference | Business reference of the transfer instruction message. | IsoMax35Text - Optional 0..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the RequestForTransferStatusReport implementation follows a specific implementaiton pattern. First of all, RequestForTransferStatusReport impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, RequestForTransferStatusReportDocument implements IOuterDocument. Because RequestForTransferStatusReport implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type RequestForTransferStatusReport.
classDiagram class IOuterRecord RequestForTransferStatusReport --|> IOuterRecord : Implements RequestForTransferStatusReportDocument --|> IOuterDocument~RequestForTransferStatusReport~ : Implements class IOuterDocument~RequestForTransferStatusReport~ { RequestForTransferStatusReport Message }
Document wrapper for serialization
The only real purpose RequestForTransferStatusReportDocument serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:sese.009.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using RequestForTransferStatusReport.ToDocument() method. The returned RequestForTransferStatusReportDocument value will serialize correctly according to ISO 20022 standards.
classDiagram RequestForTransferStatusReportDocument *-- RequestForTransferStatusReport : 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:sese.009.001.01">
<sese.009.001.01>
<ReqDtls>
<!-- RequestDetails inner content -->
</ReqDtls>
</sese.009.001.01>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_nnEjSNE5Ed-BzquC8wXy7w_-788060154"
nextVersions="_oGN9ZdE5Ed-BzquC8wXy7w_2033838549"
name="RequestForTransferStatusReport"
definition="Scope
The RequestForTransferStatusReport is sent by an instructing party to the executing party.
This message requests the status of a transfer instruction or the status of a transfer cancellation instruction.
Usage
The RequestForTransferStatusReport is sent by an instructing party to the executing party to request
- the status of one or several transfer instructions or
- the status of one or several transfer cancellation instructions."
registrationStatus="Registered"
messageSet="_urpIICeJEeOCeO5e7islRQ"
xmlName="sese.009.001.01"
xmlTag="sese.009.001.01"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_nnEjSdE5Ed-BzquC8wXy7w_-359483453"
name="RequestDetails"
definition="Information to identify the transfer for which the status is requested.
."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="ReqDtls"
complexType="_VFeqFtp-Ed-ak6NoX_4Aeg_1197711929" />
<messageDefinitionIdentifier
businessArea="sese"
messageFunctionality="009"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.