auth.010.001.01
Scope A regulator or an intermediary sends the RegulatoryTransactionReportStatus to a reporting institution to provide the status of a RegulatoryTransactionReport previously sent by the reporting institution. Usage The message definition may be used to provide a status for the entire report or to provide a status at the level of individual transactions within the report. One of the following statuses can be reported:
- Completed, or,
- Pending, or,
- Rejected. If the status is rejected, then reason for the rejection must be specified.
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 %% RegulatoryTransactionReportStatusV01 recursion level 0 with max 0 RegulatoryTransactionReportStatusV01 *-- "1..1" DocumentIdentification8 : Identification RegulatoryTransactionReportStatusV01 *-- "1..1" IPartyIdentification23Choice : ReportingInstitution RegulatoryTransactionReportStatusV01 *-- "1..1" ReportStatusAndReason1 : ReportStatus RegulatoryTransactionReportStatusV01 *-- "1..1" TradeTransactionStatusAndReason1 : IndividualTransactionStatus
Now, we will zero-in one-by-one on each of these building blocks.
Identification building block
Identification of the RegulatoryTransactionReportStatus 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 is legally responsible for sending the transaction report. 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 |
---|
ReportStatus building block
Provides the status of the entire RegulatoryTransactionReport that was previously sent by the reporting institution. Provides the related report identification and its status. If the status is rejected, a reason for this status must be given. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ReportStatusAndReason1 recursion level 0 with max 1 class ReportStatusAndReason1{ RelatedReference IsoMax35Text Status Status2Code } ReportStatusAndReason1 *-- "1..100" IRejectedStatusReason9Choice : Rejected %% IRejectedStatusReason9Choice recursion level 1 with max 1
ReportStatusAndReason1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
RelatedReference | Provides the identification of the RegulatoryTransactionReport document that was previously sent by the reporting institution. | IsoMax35Text - Required 1..1 |
Status | Indicates the status of a report message. | Status2Code - Required 1..1 |
Rejected | Indicates that the report is rejected and provides a reason why. | IRejectedStatusReason9Choice - Collection 1..100 |
IndividualTransactionStatus building block
Provides the status of one or more transactions that were previously sent within a RegulatoryTransactionReport by the reporting institution. Identifies the transaction with a trade reference and provides its status. If the status is rejected, a reason for this status must be given. For comparison, see the ISO20022 official specification
classDiagram direction tb %% TradeTransactionStatusAndReason1 recursion level 0 with max 1 class TradeTransactionStatusAndReason1{ RelatedReference IsoMax35Text TradeReference IsoMax70Text Status Status2Code } TradeTransactionStatusAndReason1 *-- "1..100" IRejectedStatusReason9Choice : Rejected %% IRejectedStatusReason9Choice recursion level 1 with max 1
TradeTransactionStatusAndReason1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
RelatedReference | Provides the identification of the RegulatoryTransactionReport document that was previously sent by the reporting institution. | IsoMax35Text - Required 1..1 |
TradeReference | Unique identification assigned to a trade once it is received or matched by an executing system. | IsoMax70Text - Required 1..1 |
Status | Indicates the status of a trade transaction. | Status2Code - Required 1..1 |
Rejected | Indicates that the report is rejected and provides a reason why. | IRejectedStatusReason9Choice - Collection 1..100 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the RegulatoryTransactionReportStatusV01 implementation follows a specific implementaiton pattern. First of all, RegulatoryTransactionReportStatusV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, RegulatoryTransactionReportStatusV01Document implements IOuterDocument. Because RegulatoryTransactionReportStatusV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type RegulatoryTransactionReportStatusV01.
classDiagram class IOuterRecord RegulatoryTransactionReportStatusV01 --|> IOuterRecord : Implements RegulatoryTransactionReportStatusV01Document --|> IOuterDocument~RegulatoryTransactionReportStatusV01~ : Implements class IOuterDocument~RegulatoryTransactionReportStatusV01~ { RegulatoryTransactionReportStatusV01 Message }
Document wrapper for serialization
The only real purpose RegulatoryTransactionReportStatusV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:auth.010.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using RegulatoryTransactionReportStatusV01.ToDocument() method. The returned RegulatoryTransactionReportStatusV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram RegulatoryTransactionReportStatusV01Document *-- RegulatoryTransactionReportStatusV01 : 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.010.001.01">
<RgltryTxRptStsV01>
<Id>
<!-- Identification inner content -->
</Id>
<RptgInstn>
<!-- ReportingInstitution inner content -->
</RptgInstn>
<RptSts>
<!-- ReportStatus inner content -->
</RptSts>
<IndvTxSts>
<!-- IndividualTransactionStatus inner content -->
</IndvTxSts>
</RgltryTxRptStsV01>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_gJ-K8MIFEeGllrOKQRUTYA_-1798409708"
name="RegulatoryTransactionReportStatusV01"
definition="Scope
A regulator or an intermediary sends the RegulatoryTransactionReportStatus to a reporting institution to provide the status of a RegulatoryTransactionReport previously sent by the reporting institution.
Usage
The message definition may be used to provide a status for the entire report or to provide a status at the level of individual transactions within the report. One of the following statuses can be reported:
- Completed, or,
- Pending, or,
- Rejected.
If the status is rejected, then reason for the rejection must be specified."
registrationStatus="Registered"
messageSet="_wRoFwU2rEeG_I4xRYCA_7g"
xmlTag="RgltryTxRptStsV01"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<xors
xmi:id="_gJ-K9cIFEeGllrOKQRUTYA_-2131125115"
name="ReportStatusOrIndividualTransactionStatusRule"
definition="Either ReportStatus or IndividualTransactionStatus must be present, but not both."
registrationStatus="Provisionally Registered"
impactedMessageBuildingBlocks="_gJ-K88IFEeGllrOKQRUTYA_963266001 _gJ-K9MIFEeGllrOKQRUTYA_1351125442" />
<messageBuildingBlock
xmi:id="_gJ-K8cIFEeGllrOKQRUTYA_-1414225965"
name="Identification"
definition="Identification of the RegulatoryTransactionReportStatus document."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Id"
complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
<messageBuildingBlock
xmi:id="_gJ-K8sIFEeGllrOKQRUTYA_1208200865"
name="ReportingInstitution"
definition="Identification of the firm that is legally responsible for sending the transaction report."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="RptgInstn"
complexType="_QReIgdp-Ed-ak6NoX_4Aeg_-1086683076" />
<messageBuildingBlock
xmi:id="_gJ-K88IFEeGllrOKQRUTYA_963266001"
name="ReportStatus"
definition="Provides the status of the entire RegulatoryTransactionReport that was previously sent by the reporting institution."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="RptSts"
complexType="_RXWygNp-Ed-ak6NoX_4Aeg_-1224288491" />
<messageBuildingBlock
xmi:id="_gJ-K9MIFEeGllrOKQRUTYA_1351125442"
name="IndividualTransactionStatus"
definition="Provides the status of one or more transactions that were previously sent within a RegulatoryTransactionReport by the reporting institution."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="IndvTxSts"
complexType="_RXNBgNp-Ed-ak6NoX_4Aeg_1004804431" />
<messageDefinitionIdentifier
businessArea="auth"
messageFunctionality="010"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.