| Date | 12.01.2026 |
| Author | M7 Project Team |
| Reviewer | M7 Project Manager |
Deutsche Börse AG
Mailing address
Mergenthaleralle 61
65760 Eschborn
Web
www.deutsche-boerse.de
Chairman of the Supervisory Board
Martin Jetter
Executive Board
Theodor Weimer (Chief Executive Officer)
Christoph Böhm (Chief Information Officer / Chief Operating Officer)
Thomas Book (Trading & Clearing)
Heike Eckert (HR (Director of Labour Relations) & Compliance)
Stephan Leithner (Responsible for Pre- & Post-Trading)
Gregor Pottmeyer (Chief Financial Officer)
German stock corporation registered in
Frankfurt/Main
HRB No. 32232
Local court: Frankfurt/Main
Disclaimer
©2024 Deutsche Boerse AG - All rights reserved. The information contained in this document is confidential or protected by law. Any unauthorized copying of this document or part of it or unauthorized distribution of the information contained herein is prohibited. All materials provided by DB in this context are and remain the intellectual property of DB and all rights therein are reserved.
1 Abstract
This document contains a functional description of the XML reports generated by the Reporting Engine and Reporter modules of the M7 Trading. This includes report subscription, report generation, report structure, available report types and their contents. It requires a familiarity with the XML standard, as defined by the World Wide Web Consortium (W3C, see https://www.w3.org/XML for more information).
Note: Data contained in graphics and examples are for illustrative purposes only.
2 Introduction
2.1 General
The M7 Trading Module enables the trading of energy products and commodity derivatives between different market areas.
All trading related activities, like order entry, order modification or the generation of trades, are documented in XML reports which are generated based on data from the M7 Trading Module and can be downloaded via the WebGUI.
The reports generated by the Reporting Engine module are available to both report users who can belong to a non-Admin member and to market operations (Admin members).
The reports generated by the Reporter module are designed for market operations only (Admin members).
2.2 System Login
Access to the M7 Service Market Operation WebGUI is protected by SSL connection encryption and implements two-factor authentication (2FA).
On the log-in screen, the User is asked to provide following information:
- User Name
- User Password (static)
- Time Based One-Time Password (TOTP)
After successful authentication through the entry of a valid market operation Username and passwords, the system’s “Report Subscription and Download” page opens (see Report Subscription and Download). If an invalid Username or any of the passwords is entered, the user receives an error message and access to the M7 Service is denied.
2.2.1 Two-Factor Authentication
M7T implements an industry standard form of 2FA. For logging in, the User is configured with a static password complemented by a Time-based one-time password (TOTP) generated by an Authenticator with each login based on a known algorithm. The User is allowed to log in to the M7T WebGUI only if both passwords provided on login - the static password and the TOTP - are correct.
In order to generate the TOTP code, TOTP key needs to be provided to User’s Authenticator. This key is generated when a new user is created (For details please refer to MFG130 Admin Manual for Market Operations WebGUI, the chapter First Time User Setup. To generate the code for login either an Authenticator application or custom implementation of the TOTP algorithm can be used.
Change of TOTP key can be done via Change password Screen and clicking to the Regenerate Key button. Newly generated key needs to be provided to the Authenticator, is then shown in the TOTP Key field. Once generated, the new TOTP key is displayed until the User navigates away form the Change Password Screen or logs out.
A QR Code with the TOTP Key can be downloaded by clicking the QR Code button. It can be scanned and used to configure the Authenticator conveniently if the application supports such functionality.
2.2.2 Cipher Suites Supported for Connection to WebGUI
The M7 Trading application currently supports the following cipher suites for the connection to the M7 Service Market Operation WebGUI:
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_DHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Disclaimer: The above-mentioned list is based on the last penetration test performed by DBAG in November 2020 and may be subject to change. Any modifications to the list triggered by DBAG will be announced with sufficient lead time, whenever the situation allows it (an example of an exception would be the installation of a security patch).
Nevertheless, it is important to note that also upgrades of the OS and the SSL library may result in some (but not all) of the above listed ciphers not being supported for establishing the communication with the M7 Service Market Operation WebGUI. As DBAG cannot influence the project lifecycle of the third parties’ software, it strongly recommends the M7 Service Market Operation users to perform a simple login test to verify that it is possible to log in into the M7 Service Market Operation WebGUI using the selected browser. Such test should be executed at least once for each major release (6.11, 6.12 etc.) during the release UAT phase, to prevent later connectivity issues in a Production environment.
3 XML Report Layout
3.1 General
The XML report layout consists of the basic elements: structures and data fields, whilst each XML element occurs in a sequence defined by the main report structure.
3.2 Structure Elements
Structures are ordered collections of structure members (see Structure Members) and may contain data fields and/or other structure elements (substructures).
3.3 Structure Members
A structure member is either a data field or another structure element. A structure member may be enriched by attributes to define report specific properties.
Data fields are elements which contain data as defined by their data type (see Data Types).
Substructures may occur zero, once or multiple times inside a structure (see Structure Cardinality).
All elements may be mandatory or optional (see Usage Code). Optional elements may be omitted in the XML report.
3.4 Data Types
The following data types are used in the description of each report generated by
- the Reporting Engine module:
| Format | Example | Note |
|---|---|---|
| Char(n) | “TRD001” or “ABC” or "" | Maximum length n |
| Integer | “1111” | |
| Long | “11111111111111111” | |
| Decimal | “11.11” | |
| Date | “2015-03-28” | Format YYYY-MM-DD, unless it is specified otherwise. |
| Time | “23:59:59.999+02:00” | Format hh:mm:ss.ccc All times contain the UTC offset. |
| DateTime | “2015-03-28 10:40:11.102+02:00” | Format YYYY-MM-DD 10:40:32+02:00, unless it is specified otherwise. All times contain the UTC offset. |
- the Reporter module:
| Format | Example | Note |
|---|---|---|
| Char(n) | “TRD001” or “ABC” or "" | Maximal length n |
| Integer | “1111” | |
| Long | “11111111111111111” | An integer number between -9223372036854775808 and 9223372036854775807, unless it is specified otherwise. |
| Decimal | “11.11” | |
| DateTime | “2021-03-15T10:40:11Z” | Format YYYY-MM-DDThh:mm:ssZ, unless it is specified otherwise. All date times are in the UTC time. |
| Boolean | “false” |
For further details on the data types used by the Reporter module please see https://www.w3.org/TR/xmlschema-2/.
3.5 Structure Cardinality
Any substructure may occur zero, one or multiple times in a structure.
The XML report structure descriptions in this document contain the cardinality information in the column “No.”, which can contain the following values:
| Value | Description |
|---|---|
| 0..1 | Substructure occurs exactly one time or not at all. |
| 1 | Substructure occurs exactly one time. |
| 0..n | Substructure can occur zero to n times. |
| 1..n | Substructure occurs at least one time, and a maximum of n times. |
3.6 Usage Code
The XML report descriptions contain usage codes for each tag. These codes provide information on whether a tag is mandatory or optional. The table below lists all applicable usage codes and provides a description.
| Usage Code | Explicit | Field Usage Description |
|---|---|---|
| m | mandatory | The tag occurs always if it is part of an existing structure (but may contain an empty string) |
| o | optional | The tag may be omitted |
3.7 Basic Structure
3.7.1 Structure of Reports Generated by the Reporting Engine
The basic structure of each report is:
- All content is enclosed by a tag with the report name code
- Each report contains a header enclosed in the header tag
- After the header, the main report data is enclosed by the tag
- The report structure then looks as follows
<rptName>
<rptHeader>
<!-- header content -->
</rptHeader>
<rptNameGrp>
<!-- data content -->
</rptNameGrp>
</rptName>3.7.2 Structure of Reports Generated by the Reporter
The basic structure of each report is:
- All content is enclosed by a tag with the report name code
- Each report contains a header enclosed in the header tag
- After the header, the main report data is enclosed by the tag
- The report structure then looks as follows
4 Report Subscription and Download
In the WebGUI of the M7 Trading Module, a report user can manage the subscriptions to the XML reports and download the generated subscribed reports.
After logging into the WebGUI, a window with the following sections is displayed:
Subscribe Reports. The window refers to the reports generated by the Reporting Engine,
Reporter Admin Reports. The window refers to the reports generated by the Reporter module (only visible for ADMIN report users),
Download Reports.
4.1 Subscription
In the “Subscribe Reports” section, a report user can subscribe to one or more daily reports.
The subscription area of the report page contains a table with the following columns:
ID An identification code for each report type.
Freq Indicates the generation frequency of each report. All reports are generated daily which is indicated by the value "D".
Name The report name.
Subscribe The checkbox to subscribe/unsubscribe a report.
The report user can subscribe and unsubscribe to report types by selecting/deselecting the respective report type checkbox (/
) and by confirming the settings by clicking the button labelled "Save subscriptions". With the button “Reload” it is possible to retrieve the current state of subscriptions in the database without necessity of logging out and in the WebGUI.
For each exchange, the system operator can configure that the same or a different set of report types will be available for subscription by the market operations report users and non-Admin report users. A later change to the configured set would require a downtime.
The changes in the subscriptions made by the report user come into effect with the next report generation run and apply to the whole member. In case of a Broker report user, one report is generated for each selected report type which contain both broker’s own trading actions as well as actions performed on behalf of other traders.
4.2 Reporter Admin Reports
In the “Reporter Admin Reports” section, a reporting user that belongs to an ADMIN member can view the list of the reports produced by the Reporter module.
The section contains a table with the following columns:
ID An identification code for each report type.
Freq Indicates the generation frequency of the report. For the reports generated by the Reporter module, the following frequency is available and can be displayed:
| HOURS | MINUTES |
|---|---|
| 1H (1 hour) | 5M (5 minutes) |
| 2H (2 hours) | 6M (6 minutes) |
| 3H (3 hours) | 10M (10 minutes) |
| 4H (4 hours) | 12M (12 minutes) |
| 6H (6 hours) | 15M (15 minutes) |
| 8H (8 hours) | 20M (20 minutes) |
| 12H (12 hours) | 30M (30 minutes) |
| 24H (24 hours) |
- Name The report name.
The generation of the reports in this section cannot be turned off/on manually on the WebGUI but the configuration can be amended upon customer’s request during a deployment of the Reporter module.
With the button “Reload” it is possible to retrieve the list of the currently supported reports.
The section is not available for non ADMIN reporting users.
4.3 Download
Already generated reports that are ready for download are listed in the bottom section in a table labelled “Download Reports”. Each report remains in the download area for 6 trading days after its generation, meaning the report user is able to download the reports for the last 6 trading days.
The number of days available in the “Download Reports” is configurable by the system operator. The change would require a downtime of the Reporting Engine module. The request would also need to be first assessed by DBAG, because the number of days may be limited by the file system where the reports are stored.
With the button “Reload” it is possible to refresh the list of all generated reports available for download.
The “Download Reports” table contains the following columns:
ID An identification code for each report type.
Size Size of the report file.
Date Creation date of the report.
Filename Filename of the report.
5 Report Generation
5.1 Trading Day
While contracts in M7 are traded based on the product time zone, reports generated by the Reporting Engine module use the market time zone (i.e. CET/CEST) and the market trading day configuration (00:00:00 CET/CEST - 23:59:59 CET/CEST on the same calendar day).
The M7 system supports 24/7 trading, i.e. trading around the clock and on each day of the week.
5.2 Report Generation by the Reporting Engine
The reports generated by the Reporting Engine module are used to display data for the generated trades and bids, or order maintenance during the last (full) trading day. They are automatically generated once a day at the preconfigured time. The time is configured by DBAG at the exchange level and applies to all report types generated by this module.
Since the report generation timer is based on UTC (Coordinated Universal Time), the actual time of report generation will differ in Central European Summer Time (CEST) and during Central European Time (CET). During CEST, the reports will be generated one hour later in comparison to CET. In other words, the reports with the generation time configured to hh:mm:ss (UTC) will be generated at (hh+1):mm:ss during CET and at (hh+2):mm:ss during CEST.
Example: Assuming the configured report generation time is 3:00 am UTC, in May the reports will be generated at 5:00 am whereas in November at 4:00 am.
For market operations report users, the reports are generated regardless of the user status. The appropriate <Login ID> will appear in the file name when an ADMIN report user is available; in case of multiple report users, the reports will be named based on the first active user found by the system. If there is no report user at the time of the report generation, the file name will contain the string “UNKNOWN” instead of <Login ID>. The existing reports will not be renamed after an ADMIN report user is available.
For a non-Admin report user, the reports for the trading day t are only generated if both the report member and the appropriate report user were active at the time of the generation on t-1.
Note: The reports can be generated the second time for the same trading day or retrospectively only with the assistance of DBAG and upon request of the customer. In case a report for the same trading days is generated again, the first one will be renamed to ~.bak and will not be available for direct download.
5.3 Report Generation by the Reporter
5.3.1 M7 is connected to XBID
The Reporter module generates reports for market operations report users on a regular basis based on the order and trade data available to M7 at the time of the report generation or after the re-synchronisation with XBID.
The frequency of the report generation depends on the configured duration of the trading period to be covered by one report. For example, with the configured trading period duration of 1 hour, the Reporter module will generate 24 reports. Each report will be generated at latest X minutes after the end of the trading period, where X = 15 + 'configured trading period duration in minutes' / 6.
The default trading period duration of 1 hour can be amended by a DBAG system operator during a maintenance window. The new configuration changed on the day d will come into effect at midnight (UTC) on the day d+1. For the list of the allowed trading periods, see Reporter Admin Reports.
The generation of the reports by the Reporter module is managed in the UTC time and the trading period covered by each report is fixed throughout the year to the configured duration. Therefore, DST switches do not have any impact on the timings of the reports generation nor on the duration of the trading period covered by the reports.
5.3.2 M7 is disconnected from XBID
The Reporter module reacts upon M7 disconnection events from and re-connection events to XBID. Upon an automatic detection of an M7 disconnection event from XBID, the Reporter stops generating the reports.
5.3.3 M7 re-connection to XBID
As soon as the Reporter module recognises that the connection between M7 and XBID has been re-established and the synchronisation with M7 has been completed, it automatically starts generating the missing reports, from the report with the oldest trading period towards the newest. Once all missing reports have been generated, the usual report generation is resumed. The missing reports are generated at most 6 trading days back.
6 XML Report Descriptions
The following chapter describes the content of reports and their structure including information contained in the individual attributes.
6.1 TC540 Daily Order Maintenance
| Description | The report contains a list of order maintenance actions which have been performed on the member’s orders during the observed period. An order maintenance action is reported if: - It has been executed during the trading day stated in the tag <rprtPrntEffDat>, AND - It has been executed by the M7 instance (local and linked products), OR - It has been executed by the XBID instance (remote products, if the environment is configured with the tranTim Activated), OR - M7 has received a confirmation about the action being executed from the XBID instance (remote products, if the environment is configured with tranTim Deactivated), OR - It was based on the information received from XBID. For details please refer to DFS160a, the chapter Full Order History. For a report user belonging to a Regular member, the report is arranged by traders and contracts and lists the actions taken for the maintenance of orders during the trading day. For a market operations report user, the report is an aggregation of the order data of all members, arranged by the member code and then as described above. For a report user belonging to a Broker member, the report contains the broker’s order maintenance actions performed on behalf of other members, and, in case of own trading, also such actions performed by the broker’s own member. The report is arranged in the same way as for the market operations. |
| Frequency | Daily |
| Generation | Triggered by timer |
| Availability | Report user of a non-Admin member + market operations report user |
6.1.1 TC540 Selection Criteria and Target Group
The report is generated as member-specific as well as for market operations. The latter receives the report as an aggregation of all generated member reports.
6.1.2 TC540 Structural Logic
For each member, a <tc540Grp> contains the orders that have been modified by the member’s users. Inside this group tag, the orders are sorted by a combination of the user code and contract. Each such combination is defined by a <tc540Grp1>. Finally, within this group tag, each maintenance action is listed individually inside a <tc540Rec> tag (please see guidance on the reported maintenance actions in TC540 Daily Order Maintenance). All <tc540Rec> inside a <tc540Grp1> appear in chronological order (earliest first). To ensure such ordering, the actions are ordered by their revision.
One report does not necessarily contain the complete lifecycle of an order, as it lists only the maintenance actions for one trading day, which is displayed in the tag <rptPrntEffDat>.
In the report for the market operations, a member will appear if and only if at least one of its users performed an order maintenance action (or the action was performed on behalf) during the last (full) trading day. In this regard, the status in which the (trading) member or its user is at the time of the report generation is irrelevant.
6.1.3 TC540 Example
Member A has two traders called Trader I and Trader II. Trader I performed two maintenance actions on an order for contract X and trader II performed one maintenance action on an order for the same contract X and two maintenance actions on an order for contract Y. Some of the orders have been entered the day before. However, the TC540 only contains the actions that were performed on the orders on the trading day stated in the “rptPrntEffDat” field. The resulting report structure is:
<tc540Grp> <!-- contains all actions for Member A -->
<tc540Grp1> <!-- contains the actions of Trader I for contract X -->
<tc540Rec> <!-- the first action of Trader I on contract X -->
<tc540Rec> <!-- the second action of Trader I on contract X -->
<tc540Grp1> <!-- contains the actions of Trader II for contract X -->
<tc540Rec> <!-- an action of Trader II on contract X -->
<tc540Grp1> <!-- contains the actions of Trader II for contract Y -->
<tc540Rec> <!-- the first action of Trader II on contract Y -->
<tc540Rec> <!-- the second action of Trader II on contract Y -->6.1.4 TC540 Structure
| XML Tag | Type | m/o | No. | Data Type | Short description | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| tc540 | SE | m | 1 | Structure | TC540 Daily Order Maintenance | ||||||
| rptHdr | SE | m | 1 | Structure | |||||||
| exchNam | CE | m | 1 | Char(6) | The name of the exchange the report was created for. | ||||||
| envText | CE | m | 1 | Char(1) |
The technical environment where the report was generated. Valid values: D: Development A: Acceptance S: Simulation P: Production |
||||||
| rptCod | CE | m | 1 | Char(5) |
The naming code of the XML report. Valid values: TC540 TC810 TC820 TC840 |
||||||
| rptNam | CE | m | 1 | Char(53) | The XML report name | ||||||
| membLglNam | CE | o | 0..1 | Char(40) |
The market area. Valid values: A valid market area (short name) |
||||||
| rptPrntEffDat | CE | m | 1 | Date | The print effective date of the XML report. All data in the report refers to this trading day. | ||||||
| rptPrntRunDat | CE | m | 1 | Date | The run date of the XML report. This is the day when the report was created. | ||||||
| tc540Grp | SE | o | 0..n | Structure | |||||||
| tc540KeyGrp | SE | m | 1 | Structure | |||||||
| membExcIdCod | CE | m | 1 | Char(5) | The “Member ID” of the latest order owner. For orders created by M7 as a result of AOT, it is the “Member ID” of the order owner before the AOT has been performed. | ||||||
| tc540Grp1 | SE | m | 1..n | Structure | Conditions: present only if an order was modified on rptPrntEffDat | ||||||
| tc540KeyGrp1 | SE | m | 1 | Structure | |||||||
| partIdCod | CE | m | 1 | Char(6) | The “User Code” of the latest order owner. For orders created by M7 as a result of AOT, it is the “User Code” of the latest order owner before the AOT has been performed. | ||||||
| instTitl | SE | m | 1 | Structure | |||||||
| wknNo | CE | o | 0..1 | Char(9) | DEPRECATED This field contains the WKN number | ||||||
| isinCod | CE | m | 1 | Char(128) | The contract identifier. It is the long name of the contract. | ||||||
| currTypCod | CE | m | 1 | Char(3) |
Currency Type Code contains the currency in which the product is traded. Valid values: A valid ISO code |
||||||
| product | CE | m | 1 | Char(32) | The name of the product. | ||||||
| tc540Rec | SE | m | 1..n | Structure | |||||||
| tranTim | CE | m | 1 | Time |
The transaction timestamp. For local orders, the exact time when the maintenance action, trade execution or modification was performed. For orders created by M7 as a result of AOT it is the time of the order transfer (time of transfer from remote contract (XBID) to linked contract (local)). For remote orders, timestamp is provided based on configuration of the environment: Activated Timestamp is filled with data provided by XBID. Deactivated The exact time when M7 received the information on the maintenance action from XBID. Note: This time may differ from the actual time of processing the maintenance action by XBID. Valid values: Any time in the format hh:mm:ss:ccc. |
||||||
| mktArea | CE | m | 1 | Char(8) |
The market area. Valid values: A valid market area (short name) |
||||||
| tso | CE | m | 1 | Char(8) | The short name of a delivery area | ||||||
| balGrp | CE | m | 1 | Char(32) | Balancing Group for which the order was entered. | ||||||
| clgHse | SE | o | 0..n | Structure | DEPRECATED Clearing House. | ||||||
| clgHseCode | CE | m | 1 | Char(4) |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing house code was specified as part of the respective order. |
||||||
| clgAcct | SE | m | 1 | Structure | DEPRECATED | ||||||
| clgAcctId | CE | m | 1..n | Integer |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing account ID was specified as part of the respective order. |
||||||
| entTim | CE | m | 1 | Time | The entry time of an order. If the price/time mechanism of an order is modified, it is deleted and a new one (with a new order entry time) is entered instead. For orders created by M7 as a result of AOT it is the entTim of the related remote order before the AOT has been performed. | ||||||
| actnCod | CE | m | 1 | Char(1) |
The action code of a maintenance step for an order or matching of a quote. Valid values: A - Add (also used when activating an order). Note: This action code is used independent of the order being added in active or hibernated state. C - Change D - Delete H - Hibernation (deactivation) I - Insertion of new slice (iceberg orders) M - Full match of an order or quote P - Partial match of an order or quote X - System deletion (order expiration) |
||||||
| aggressorIndicator | CE | o | 0..1 | Char(1) |
Indicates whether the executed order was as a trade aggressor or as a trade originator. Valid values: Y- Trade aggressor N - Trade originator U - Unknown, used for executed orders of remote products, orders transferred to linked contracts and data before migration Condition: Present if the actnCod of the order is either “M” (full match) or “P” (partial match). |
||||||
| revisionNo | CE | m | 1 | Long |
The revision value for each maintenance step. Initial value is 1. When a local order or an order created by M7 as a result of AOT is modified, the value is increased by one. When a remote order is modified, the value may be increased by more than one, because the maintenance actions that were performed only locally (e.g. storing an order locally on M7 before forwarding it to XBID) are excluded from the report.Both for remote and local orders, it can only be guaranteed that the revisionNo will be always monotonically increasing, but not that the delta will always be one. |
||||||
| remoteRevisionNo | CE | o | 0..1 | Long |
The revision value for each order maintenance step. The field is not present for orders created by M7 as a result of AOT. The initial value is 1. When an order is modified in XBID, value is increased by one. In case of a disconnection event from XBID, M7 bases the order history on the information received from XBID. For details please refer to DFS160a, the chapter Full Order History. Conditions: Present if the order has been communicated to the XBID SOB |
||||||
| listID | CE | o | 0..1 | Long |
The “Basket ID” of a basket order. Conditions: Present if the order is a part of a basket |
||||||
| listExecInst | CE | o | 0..1 | Char(6) |
The execution instruction of a basket order. Valid values: LINKED - All orders of the basket or none will be executed. NONE - No execution instruction VALID - Either all orders of the basket are valid or all orders are rejected. Conditions: Present if the order is a part of a basket. |
||||||
| ordrNo | CE | m | 1 | Long | The “Order ID”. It may be changed when the order is modified. | ||||||
| remoteOrdrNo | CE | o | 0..1 | Long |
An “Order ID” assigned to the order by XBID SOB. It may be changed when the order is modified. The field is not present for orders created by M7 as a result of AOT. Conditions: Present if the order has been communicated to the XBID SOB |
||||||
| ordrInitialNo | CE | o | 0..1 | Long | The “ordrInitialNo” equals to the “orderNo” that was assigned to an order when it was entered for the very first time or when it was created by M7 as a result of AOT. It remains the same even if the order is modified. | ||||||
| ordrParentNo | CE | o | 0..1 | Long |
The field is displayed only if the maintenance step led to a new “ordrNo”. In such case, it contains the “ordrNo” of the previously modified order. In case an order has been created by M7 as a result of AOT, the ordrParentNo of the related remote order is not present. Example: An order with the “ordrNo” 100 is modified leading to a new “ordrNo” 101. In the TC540Rec for this maintenance step, the field “ordrNo” will contain the value 101 and the field “ordrParentNo” will contain the value 100. Conditions: Present if the order was modified which led to a new order with a new order number. |
||||||
| preAotId | CE | o | 0..1 | Long |
The local Id of the remote order that this order originated from during AOT. Conditions: Popupated if this is a local order transferred from a remote order during AOT. It is expected to be carried over for all order transactions related to the first transferred local order. |
||||||
| ordrBuyCod | CE | m | 1 | Char(1) |
Order Buy Code. It indicates whether the order is a buy or a sell order. Valid values: B - Buy order S - Sell order |
||||||
| opnClseInd | CE | o | 0..1 | Char(1) |
The open close indicator. It shows whether the order is linked to an open or close position. Valid values: O - Open position indicator C - Close position indicator Conditions: Present if the order was submitted with a valid value in the “Open Close Indicator” field |
||||||
| acctTypCodGrp | CE | m | 1 | Char(2) |
The account type group. Valid values: A or A1..A9 - Agent account P or P1..P9 - Proprietary account |
||||||
| ordrQty | CE | m | 1 | Decimal | The order quantity in “qtyUnit”. After a trade, the quantity is reduced by the amount executed in the last trade until the order is fully matched (quantity = 0.0). For iceberg orders it is the current exposed quantity (the current size of the active slice). For orders created by M7 as a result of AOT it is the last ordrQty of the related remote order before the AOT has been performed. | ||||||
| peakSizeQty | CE | o | 0..1 | Decimal |
The peak size quantity of an iceberg order in “qtyUnit”. For orders created by M7 as a result of AOT it is the last peakSizeQty of the related remote order before the AOT has been performed. Conditions: Present if ordrTypCod is “I” (iceberg order). |
||||||
| totalRemQty | CE | o | 0..1 | Decimal |
The total remaining quantity of an iceberg order in “qtyUnit”. For orders created by M7 as a result of AOT it is the last totalRemQty of the related remote order before the AOT has been performed. Conditions: present if ordrTypCod is “I” (iceberg order) |
||||||
| stopPrc | CE | o | 0..1 | Decimal |
The stop price of a stop limit order Conditions: Present if ordrTypCod is “S” (stop limit order) |
||||||
| ppd | CE | o | 0..1 | Decimal |
The peak price delta of an iceberg order Conditions: Present if ordrTypCod is “I” (iceberg order) |
||||||
| ordrTypCod | CE | m | 1 | Char(1) |
The order type code B - Balance order for local products H - Hit and lift order I - Iceberg order L - Limit order, UDDP block orders P - OTC order S - Stop order |
||||||
| quote | CE | o | 0..1 | Char(1) |
A flag indicating that the order is a quote. Conditions: Present only if the order is a quote. |
||||||
| ordrExePrc | CE | o | 0..1 | Decimal | The limit price of an order. For orders created by M7 as a result of AOT it is the last ordrExePrc of the related remote order before the AOT has been performed. | ||||||
| tradMtchPrc | CE | o | 0..1 | tradMtchPrcType |
The trade match price. This is the price at which the trade was executed. Conditions: present if actnCod is either: “M” (full match) or “P” (partial match). It is possible that in case of synchronisation issues with the XBID instance the M7 application will not be able to retrieve the match price of a trade so the attribute will be reported with an empty string. In addition, it will be required that the Market Operators check the trade match prices of all partial trades related to this ordrId against the XBID TC reports, as in this rare event M7 Trading cannot guarantee that these will be reported correctly. |
||||||
| ordrResCod | CE | o | 0..1 | Char(2) |
The restriction code of an order A - AON: All or Nothing I - OC: Immediate or Cancel F - FOK: Fill or Kill S - STP: Stop order Conditions: Present if ordrResCod is either: “A” (AON), “F” (FOK) or “I” (IOC) |
||||||
| ordrValCode | CE | m | 1 | Char(3) |
The validity restriction of an order. GFS - Good For Session GTD - Good Till Date NON - None, if the execution restriction is “IOC” or “FOK”. |
||||||
| applicationId | CE | o | 0..1 | Char(255) |
Application ID which the user used to perform the maintenance step. Conditions: Present always, except for orders submitted or maintained before the migration to M7 6.0. |
||||||
| applicationVer | CE | o | 0..1 | Char(32) |
The version of the application which the user used to perform the maintenance step. Conditions: Present if the application version was provided in the API. |
||||||
| valDat | CE | o | 0..1 | Char(23) |
If the validity restriction of an order (“ordrValCode”) is “GTD”, the “valDat” field will contain the data and time when an order will be deleted. Valid values: Format is: YYYY-MM-DD hh:mm+hh:mm where YYYY-MM-DD hh:mm is the timestamp in CET/CEST, and +hh:mm is the UTC offset Conditions: present if ordrValCode is “GTD” |
||||||
| text | CE | o | 0..1 | Char(250) |
The text entered in the text field of an order. For orders created by M7 as a result of AOT it is the last “text” of the related remote order before the AOT has been performed. Conditions: Present if the text field is not empty |
||||||
| membExcIdCodOboMs | CE | o | 0..1 | Char(5) |
The “Member ID” of the user who performed a maintenance action on behalf of the order owner. Conditions: Present if the maintenance step was performed by a user on behalf of the order owner (see the chapter On-behalf trading in DFS180). For orders created by LTS as a result of AOT, it is the “Member ID” of the order owner before the AOT has been performed. |
||||||
| partIdCodOboMs | CE | o | 0..1 | Char(6) |
The “User Code” of the user who performed a maintenance action on behalf of the order owner. Conditions: Present if the maintenance step was performed by a user on behalf of the order owner (see the chapter On-behalf trading in DFS180). For orders created by LTS as a result of AOT, it is the string “SYSTEM”. |
||||||
| aot | CE | o | 0..1 | Boolean | The indicator whether the order shall be automatically transferred to the corresponding linked contract after the trading in the specific delivery area ends in XBID. | ||||||
| prioChange | CE | o | 0..1 | Boolean | An indicator of whether the order has been added or deleted as a result of an order modification which lead to a priority change of the order. If false, the element is omitted. | ||||||
| location | CE | o | 0..1 | Char(64) |
Location of order within the delivery area. Condition: Present if the location for an order was submitted. |
||||||
| marketBased | CE | o | 0..1 | Boolean | Type of the congestion order to indicate whether it is a market based order (Yes) or a non-market based order (No). Available only for products with Locations enabled. Default value: true. | ||||||
| contractReference | CE | o | 0..1 | Char(64) | Reference to a contract between supplier and network operator (e.g. bidding obligation). Available only for products with Locations enabled. | ||||||
| facilityType | CE | o | 0..1 | Char(64) | Type of the network connected facility that converts primary energy into electrical energy. Available only for products with Locations enabled. | ||||||
| usageFraction | CE | o | 0..1 | Integer | Indicates the mix/max percentage value of usage of the order. Example: For BUY orders it represents the maximum the provider can down regulate their production unit without fully shutting it down. Available only for products with Locations enabled. | ||||||
6.2 TC550 Admin Order Data Report
| Description | The Admin Order Data Report contains a list of order maintenance actions which have been performed on the member’s orders during the configured trading period. An order maintenance action is reported if: - It has been executed during the trading period stated by the tags <startTime> and <endTime>, AND - It has been executed by the M7 instance (local and linked products), OR - It has been executed by the XBID instance (remote products), OR - It was based on the information received from XBID. For details please refer to DFS160a, the chapter Full Order History. During the disconnection from XBID, the TC550 Admin Order Data Report generation is interrupted in order to avoid incompleteness of the final report. The generation is renewed after successful re-synchronization with the XBID instance, and all missing reports are regenerated in the chronological order. |
| Frequency | The TC550 Report is generated for the configured trading period. The options for the configuration are listed in chapter Reporter Admin Reports. |
| Generation | Triggered by timer based on the configured trading period. The functionality is described in Report Generation by the Reporter. |
| Availability | Reporting user of an Admin member. The feature is provided exclusively to EPEX Spot SE. |
6.2.1 Selection Criteria and Target group
The report is an aggregation of order maintenance actions of all members during the configured trading period.
6.2.2 TC550 Structural Logic
Each TC550 report covers the trading period specified by the <startTime> and <endTime> elements, which can be found inside the <header> tag. The order maintenance actions performed during the configured trading period are listed in the <body> tag of the report, each order being embedded in the <order> tag.
Inside the <order> tag, all order maintenance actions are sorted by the orderNo ascending and then by the revisionNo ascending. The report attributes are listed in two groups, first <orderAttributes>, which contains immutable order characteristicts, and then <revisionChange>, which is the wrapper for mutable order attributes.
If the order is included in two or more TC550 reports, the immutable order characteristics in <orderAttributes> are present in all of them. The group <revisionChange> will contain the mutable order attributes for all new revisions that have emerged during the TC550 trading period.
6.2.3 TC550 Example
The part of the report body that follows represents two order management actions performed on one order, first of them represents the order entry, the second one represents the full execution of the order.
<order>
<orderAttributes>
<orderId>3015</orderId>
<initialOrderId>3015</initialOrderId>
<remoteOrderId>581784539</remoteOrderId>
<memberId>TEST1</memberId>
<balancingGroup>TEST1-BG1------X</balancingGroup>
<userCode>TRD001</userCode>
<productLongName>Intraday_Power_D</productLongName>
<contractLongName>20210205 14:00-20210205 15:00</contractLongName>
<contractDeliveryStartTime>2021-02-05T13:00:00Z</contractDeliveryStartTime>
<contractDeliveryEndTime>2021-02-05T14:00:00Z</contractDeliveryEndTime>
<marketAreaEic>DEMO1-----------</marketAreaEic>
<deliveryAreaEic>DEMO2-----------</deliveryAreaEic>
<side>BUY</side>
<type>O</type>
<clearingAccountType>P</clearingAccountType>
<currency>EUR</currency>
<listExecutionInstruction>NONE</listExecutionInstruction>
</orderAttributes>
<revisionChange>
<revisionNo>5</revisionNo>
<qty>1.000</qty>
<px>2.00</px>
<state>IACT</state>
<action>UDEL</action>
<tranTime>2021-02-05T10:00:11.6Z</tranTime>
<matchPrioTime>2021-02-05T09:36:06.785Z</matchPrioTime>
<validityRestriction>GFS</validityRestriction>
<aot>false</aot>
<applicationId>ComTrader</applicationId>
<applicationVersion>6.11.52</applicationVersion>
<validityDateTime>2021-02-05T12:00:00Z</validityDateTime>
<orderExeRestriction>NON</orderExeRestriction>
<remoteRevisionNo>4</remoteRevisionNo>
</revisionChange>
</order>6.2.4 TC550 Structure
| XML Tag | Type | m/o | No. | Data Type | Short description | ||||
|---|---|---|---|---|---|---|---|---|---|
| tc550 | SE | m | 1 | Structure | TC550 Admin Order Data Report | ||||
| header | SE | m | 1 | Structure | |||||
| reportCode | CE | m | 1 | Char(5) |
The naming code of the XML report. Valid values: TC540 TC550 TC810 TC820 TC840 |
||||
| startTime | CE | m | 1 | DateTime | The start date and time of report period in the UTC time in the ISO 8601 format. | ||||
| endTime | CE | m | 1 | DateTime | The end date and time of report period in the UTC time in the ISO 8601 format. | ||||
| environment | CE | m | 1 | Char(4) |
The type of environment the report was created for. Valid values: ACUT CTPB CUTE LIPA PROD SIMU ASIM |
||||
| exchangeName | CE | m | 1 | Char(4) | Customer name | ||||
| applicationVersion | CE | m | 1 | Char(255) | The schema and application version. | ||||
| reportCreationTime | CE | m | 1 | DateTime | The date and time when the report was created in the UTC time in the ISO 8601 format. | ||||
| body | SE | m | 1 | Structure | |||||
| order | SE | o | 0..n | Structure | |||||
| orderAttributes | SE | m | 1 | Structure | Wrapper for immutable order attributes | ||||
| orderId | CE | m | 1 | Long | The “Order ID”. It may be changed when the order is modified. | ||||
| initialOrderId | CE | m | 1 | Long | The “initialOrderId” equals to the “orderId” that was assigned to an order when it was entered for the very first time or when it was created by the LTS as a result of AOT. It remains the same even if the order is modified. | ||||
| parentOrderId | CE | o | 0..1 | Long |
The field is displayed only if the maintenance step led to a new “orderId”. In such case, it contains the “orderId” of the previously modified order. In case an order has been created by LTS as a result of AOT, the parentOrderId of the related remote order is not present. |
||||
| preAotId | CE | o | 0..1 | Long |
Local order ID of the remote order that this order originated from during AOT. The field is populated if this is a local order transferred from a remote order during AOT. It is expected to be carried over for all order transactions related to the first transferred local order. |
||||
| remoteOrderId | CE | o | 0..1 | Long |
An “Order ID” assigned to the order by XBID SOB. It may be changed when the order is modified. The field is not present for orders created by the LTS as a result of AOT. Conditions: Present if the order has been communicated to the XBID SOB |
||||
| creationTime | CE | m | 1 | DateTime |
The creation time of an order in the UTC time in the ISO 8601 format. For orders created by the LTS as a result of AOT, it is the timestamp when the order was automatically created by the LTS system on the linked contract. |
||||
| memberId | CE | m | 1 | Char(5) | The “Member ID” of the latest order owner. For orders created by the LTS as a result of AOT, it is the “Member ID” of the order owner before the AOT has been performed. | ||||
| balancingGroup | CE | m | 1 | Char(32) | Balancing group, for which order was entered. | ||||
| userCode | CE | m | 1 | Char(6) | The “User Code” of the latest order owner. For orders created by the LTS as a result of AOT, it is the “User Code” of the latest order owner before the AOT has been performed. | ||||
| productLongName | CE | m | 1 | Char(255) | Product long name | ||||
| contractLongName | CE | m | 1 | Char(128) | The contract identifier. It is the long name of the contract. | ||||
| contractDeliveryStartTime | CE | m | 1 | DateTime | The delivery start date and time in the UTC time in the ISO 8601 format. | ||||
| contractDeliveryEndTime | CE | m | 1 | DateTime | The delivery end date and time in the UTC time in the ISO 8601 format. | ||||
| marketAreaEic | CE | m | 1 | Char(16) | The market area short name. | ||||
| deliveryAreaEic | CE | m | 1 | Char(16) | Delivery or Market Area Id. In the power market this corresponds to the EIC code. | ||||
| side | CE | m | 1 | Char(4) | Defines on which side of the market the order was entered (BUY, SELL). | ||||
| type | CE | m | 1 | Char(1) |
The order type code. Valid values: O Regular limit order B - User Defined Block order I - Iceberg order L - Balance order S - Stop limit order P - OTC order |
||||
| clearingAccountType | CE | m | 1 | Char(2) |
The account type group. Valid values: A or A1..A9 - Agent account P or P1..P9 - Proprietary account |
||||
| listId | CE | o | 0..1 | Long |
The “List Id” of a basket order. Conditions: Present if the order is a part of a basket. |
||||
| listExecutionInstruction | CE | o | 0..1 | Char(6) |
The execution instruction of a basket order. Valid values: LNKD - All orders of the basket or none will be executed. NONE - No execution instruction VALID - Either all orders of the basket are valid or all orders are rejected. Conditions: Present if the order is a part of a basket. |
||||
| currency | CE | m | 1 | Char(3) | The currency of product based on ISO 4217 | ||||
| counterpartyBalancingGroup | CE | o | 0..1 | Char(32) | Counterparty Balancing Group for which the OTC order was entered. | ||||
| revisionChange | SE | m | 1..n | Structure | Wrapper for mutable order attributes | ||||
| revisionNo | CE | m | 1 | Long |
This field contains the revision number of the maintenance step. Initial value is 1. When a local order or an order created by M7 as a result of AOT is modified, the value is increased by one. When a remote order is modified, the value may be increased by more than one, because the maintenance actions that were performed only locally (e.g. storing an order locally on M7 before forwarding it to XBID) are excluded from the report. Both for remote and local orders, it can only be guaranteed that the revisionNo will be always monotonically increasing, but not that the delta will always be one. |
||||
| remoteRevisionNo | CE | o | 0..1 | Long |
The revision value for each order maintenance step. The field is not present for orders created by the LTS as a result of AOT. The initial value is 1. When an order is modified in XBID, value is increased by one. In case of a disconnection event from XBID, LTS bases the order history on the information received from XBID. For details please refer to DFS160a, the chapter Full Order History. Conditions: Present if the order has been communicated to the XBID SOB. |
||||
| qty | CE | m | 1 | Decimal | The order quantity in “qtyUnit”. After a trade, the quantity is reduced by the amount executed in the last trade until the order is fully matched (quantity = 0.0). For iceberg orders it is the current exposed quantity (the current size of the active slice). For orders created by the LTS as a result of AOT it is the last qty of the related remote order before the AOT has been performed. Value can be zero or higher. | ||||
| px | CE | m | 1 | Decimal | The limit price of an order. For orders created by the LTS as a result of AOT it is the last ordrExePrc of the related remote order before the AOT has been performed. | ||||
| state | CE | m | 1 | Char(4) |
The current state of the order in the system. Valid values: HIBE : The order is entered into the backend system but is not exposed to the market. ACTI : The order is entered and is immediately exposed to the market for execution. IACT : The order is deleted. |
||||
| action | CE | m | 1 | Char(255) |
The action code. Valid values: UADD : Order added by the user. UHIB : Order deactivated by the user. UMOD : Order modified by the user. UDEL : Order deleted by the user. UREJ : Pre-arranged order rejected by the user. AADD : Order added by market operations on behalf. AHIB : Order deactivated by market operations on behalf. AMOD : Order modified by market operations on behalf. ADEL : Order deleted by market operations on behalf. AREJ : Pre-arranged order rejected by market operations on behalf. SADD : Order added by the system. SHIB : Order deactivated by the system. SMOD : Order modified by the system. SDEL : Order deleted by the system. SREJ : Pre-arranged order rejected by system. FEXE : Order is fully executed. PEXE : Partial execution of order. IADD : A new slice of an Iceberg order was added to the service. |
||||
| tranTime | CE | m | 1 | DateTime |
The transaction timestamp in the UTC time in the ISO 8601 format. For local orders, the exact time when the maintenance action, trade execution or modification was performed. For orders created by the LTS as a result of AOT it is the time of the order transfer (time of transfer from remote contract (XBID) to linked contract (local)). For remote orders, timestamp is provided based on configuration of the parameter report.generation.use_remote_timestamp for the environment: true Timestamp is filled with data provided by XBID. false The exact time when the LTS received the information on the maintenance action from XBID. Note: This time may differ from the actual time of processing the maintenance action by XBID. |
||||
| matchPrioTime | CE | o | 0..1 | DateTime |
The entry time of an order in the UTC time in the ISO 8601 format. If the price/time mechanism of an order is modified, it is deleted and a new one (with a new order creation time) is entered instead. For orders created by the LTS as a result of AOT it is the creation time of the related remote order before the AOT has been performed. |
||||
| validityRestriction | CE | m | 1 | Char(3) |
The validity restriction of an order. GFS - Good For Session GTD - Good Till Date NON - None, if the execution restriction is “IOC” or “FOK”. |
||||
| aot | CE | m | 1 | Boolean | The indicator whether the order shall be automatically transferred to the corresponding linked contract after the trading in the specific delivery area ends in XBID. | ||||
| applicationId | CE | o | 0..1 | Char(255) | This field contains the application ID of the user. | ||||
| applicationVersion | CE | o | 0..1 | Char(32) | This field contains the application version. | ||||
| validityDateTime | CE | o | 0..1 | DateTime | Validity Date in the UTC time in the ISO 8601 format. If the validity restriction of an order (“validityRestriction”) is “GTD”, the “validityDateTime” field will contain the data and time when an order will be deleted. For “GFS” orders, the field is populated with date and time of the end of trading phase, or with the date and time of the contract expiry point, depending on which of the two dates comes earlier. | ||||
| text | CE | o | 0..1 | Char(255) |
The text entered in the text field of an order. For orders created by the LTS as a result of AOT it is the last “text” of the related remote order before the AOT has been performed. Conditions: Present if the text field is not empty. |
||||
| aggressorIndicator | CE | o | 0..1 | Char(1) |
Indicates whether the executed order was as a trade aggressor or as a trade originator. Valid values: Y- Trade aggressor N - Trade originator U - Unknown, used for executed orders of remote products, orders transferred to linked contracts and data before migration Condition: Present if the action of the order is either “FEXE” (full match) or “PEXE” (partial match). |
||||
| tradeMatchPx | CE | o | 0..1 | tradeMatchPriceType |
The trade match price. This is the price at which the trade was executed. Conditions: present if action is either: “FEXE” (full match) or “PEXE” (partial match). It is possible that in case of synchronisation issues with the XBID instance the LTS will not be able to retrieve the match price of a trade. In such case, the attribute will not be present in TC550. In addition, it will be required that the Market Operators check the trade match prices of all partial trades related to this orderId against the XBID TC reports, as in this rare event the LTS cannot guarantee that these will be reported correctly. |
||||
| totalRemQty | CE | o | 0..1 | Decimal |
The total remaining quantity of an iceberg order in “qtyUnit”. For orders created by the LTS as a result of AOT it is the last totalRemQty of the related remote order before the AOT has been performed. Value can be zero or higher. Conditions: present if type is “I” (iceberg order) |
||||
| onBehalfMemberId | CE | o | 0..1 | Char(5) |
The “Member ID” of the user who performed a maintenance action on behalf of the order owner. Conditions: Present if the maintenance step was performed by a user on behalf of the order owner (see the chapter On-behalf trading in DFS180). For orders created by the LTS as a result of AOT, it is the “Member ID” of the order owner before the AOT has been performed. |
||||
| onBehalfUserCode | CE | o | 0..1 | Char(6) |
The “User Code” of the latest order owner. Conditions: Present if the maintenance step was performed by a user on behalf of the order owner (see the chapter On-behalf trading in DFS180). For orders created by LTS as a result of AOT, it is the string “SYSTEM”. |
||||
| prioChange | CE | o | 0..1 | Boolean | The indicator whether there was a priority change of an order. If false, the element is omitted. (Deletion of the original order by the system, and the entry of a new order with the modified parameters and a new timestamp). | ||||
| tradeId | CE | o | 0..1 | Long | The trade Id. Present only if a new revision was created because of an order match. | ||||
| peakSizeQty | CE | o | 0..1 | Decimal |
The peak size quantity of an iceberg order in “qtyUnit”. For orders created by the LTS as a result of AOT it is the last peakSizeQty of the related remote order before the AOT has been performed. Value can be zero or higher. Conditions: Present if type is “I” (iceberg order). |
||||
| ppd | CE | o | 0..1 | Decimal | Peak price delta for Iceberg orders. | ||||
| stopPx | CE | o | 0..1 | Decimal |
The stop price of a stop limit order. Conditions: Present if type is “S” (stop limit order) |
||||
| orderExeRestriction | CE | m | 1 | Char(3) |
The execution restriction of the order. Valid values: NON - No restriction. This is the default. FOK - (Fill or Kill): The order is immediately fully executed or deleted. IOC - (Immediate and cancel): The order is executed immediately to its maximum extend. In case of a partial execution, the remaining volume is removed from the order book. AON - (All or None): The order must be filled completely or not at all. The order stays in the order book until it is executed or removed by the system or user. |
||||
| location | CE | o | 0..1 | Char(64) | Location. Only applicable for products with “Location-Price-Time” or “Location-AON” matcher. | ||||
| marketBased | CE | o | 0..1 | Boolean | Type of the congestion order to indicate whether it is a market based order (Yes) or a non-market based order (No). Available only for products with Locations enabled. Default value: true. | ||||
| contractReference | CE | o | 0..1 | Char(64) | Reference to a contract between supplier and network operator (e.g. bidding obligation). Available only for products with Locations enabled. | ||||
| facilityType | CE | o | 0..1 | Char(64) | Type of the network connected facility that converts primary energy into electrical energy. Available only for products with Locations enabled. | ||||
| usageFraction | CE | o | 0..1 | Integer | Indicates the mix/max percentage value of usage of the order. Example: For BUY orders it represents the maximum the provider can down regulate their production unit without fully shutting it down. Available only for products with Locations enabled. | ||||
6.3 TC810 Daily Trade Confirmation
| Description | This report contains an inventory of all of the trades of each member during the trading day. The report shows all unmodified, modified, recalled, cancelled and matched trades and approved OTC trades whenever these are supported by the exchange. In case cross-product matching or trade decomposition has been configured and such a trade was matched, only the trades resulting from the trade decomposition will appear in the report. For a report user belonging to a Regular member, this report contains the trade data just for this member. For a market operations report user, this report is an aggregation of trade data of all members. For a report user belonging to a Broker member, the report contains the trades and actions performed on these trades by the broker on behalf of other members. If the broker was also trading on his own behalf, the actions performed by its own member will be included in the report as well. |
| Frequency | Daily |
| Generation | Triggered by timer |
| Availability | Report user of a non-Admin member + market operations report user |
6.3.1 TC810 Selection Criteria and Target Group
This report can be generated as member-specific as well as for market operations. The latter receives the report with the trades of all members.
This report shows the trades of the last closed trading period (day).
6.3.2 TC810 Structural Logic
Each <tc810Grp> contains all trades for a member/contract combination. Inside this group tag, the trades are organized by traders into different <tc810Grp1>. Inside this structure, the trades themselves are listed in the last hierarchy level, each in a separate <tc810Rec>.
In general, all trades identified by their “tranIdNo”, are only present once. The exception are trades for which a trade recall has been requested (identified by the value “Q” in the field <tranTypCod>), recalled trades (identified by the value “R” in the field <tranTypCod>), trades with the recall rejected (identified by the value “J” in the field <tranTypCod>) and cancelled trades (identified by the value “C” in the field <tranTypCod>).
6.3.3 TC810 Examples
6.3.3.1 Report Structure
Member A has two traders, Trader 1 and 2. For contract X, Trader 1 has two trades; for contract Y, Trader 1 and Trader 2 have one trade each.
The resulting report structure is (key groups are not displayed here):
<tc810>
<tc810Grp> <!-- contains all trades for Member A and contract X -->
<tc810Grp1> <!-- contains all trades of Trader 1 for contract X -->
<tc810Rec> <!-- the first trade of Trader 1 for contract X -->
<tc810Rec> <!-- the second trade of Trader 1 for contract X -->
<tc810Grp> <!-- contains all trades for Member A and contract Y -->
<tc810Grp1> <!-- contains all trades of Trader 1 for contract Y -->
<tc810Rec> <!-- a trade of Trader 1 for contract Y -->
<tc810Grp1> <!-- contains all trades of Trader 2 for contract Y -->
<tc810Rec> <!-- a trade of Trader 2 for contract Y -->6.3.3.2 Cross-Product Matching and Trade Decomposition
Cross-product matching between an hourly product and a quarterly product is enabled. Member A has one trader, Trader A, who placed an hourly buy order for the contract 12-13. Member B has one trader, Trader B who placed three quarterly (3x15 minutes) sell orders for the contracts 12Q1, 12Q2 and 12Q3. Member C has one trader, Trader C who placed one quarterly (1x15 minutes) sell order for the contract 12Q4. The buy order and the four sell orders were matched into a trade. As a result of the cross-product matching process, the hourly buy trade was decomposed into four quarterly trades. The report contains only the trades for the quarterly contracts.
The resulting report (for market operations) contains the following trades:
<tc810>
<tc810Grp> <!-- contains all trades for Member A and contract 12Q1 -->
<tc810Grp1> <!-- contains all trades of Trader A for contract 12Q1 -->
<tc810Rec> <!-- (buy side of) trade of Trader A for contract 12Q1 -->
<tc810Grp> <!-- contains all trades for Member A and contract 12Q2 -->
<tc810Grp1> <!-- contains all trades of Trader A for contract 12Q2 -->
<tc810Rec> <!-- (buy side of) trade of Trader A for contract 12Q2 -->
<tc810Grp> <!-- contains all trades for Member A and contract 12Q3 -->
<tc810Grp1> <!-- contains all trades of Trader A for contract 12Q3 -->
<tc810Rec> <!-- (buy side of) trade of Trader A for contract 12Q3 -->
<tc810Grp> <!-- contains all trades for Member A and contract 12Q4 -->
<tc810Grp1> <!-- contains all trades of Trader A for contract 12Q4 -->
<tc810Rec> <!-- (buy side of) trade of Trader A for contract 12Q4 -->
<tc810Grp> <!-- contains all trades for Member B and contract 12Q1 -->
<tc810Grp1> <!-- contains all trades of Trader B for contract 12Q1 -->
<tc810Rec> <!-- (sell side of) trade of Trader B for contract 12Q1 -->
<tc810Grp> <!-- contains all trades for Member B and contract 12Q2 -->
<tc810Grp1> <!-- contains all trades of Trader B for contract 12Q2 -->
<tc810Rec> <!-- (sell side of) trade of Trader B for contract 12Q2 -->
<tc810Grp> <!-- contains all trades for Member B and contract 12Q3 -->
<tc810Grp1> <!-- contains all trades of Trader B for contract 12Q3 -->
<tc810Rec> <!-- (sell side of) trade of Trader B for contract 12Q3 -->
<tc810Grp> <!-- contains all trades for Member C and contract 12Q4 -->
<tc810Grp1> <!-- contains all trades of Trader C for contract 12Q4 -->
<tc810Rec> <!-- (sell side of) trade of Trader C for contract 12Q4 -->6.3.4 TC810 Structure
| XML Tag | Type | m/o | No. | Data Type | Short description | ||||
|---|---|---|---|---|---|---|---|---|---|
| tc810 | SE | m | 1 | Structure | TC810 Daily Trade Confirmation | ||||
| rptHdr | SE | m | 1 | Structure | |||||
| exchNam | CE | m | 1 | Char(6) | The name of the exchange the report was created for. | ||||
| envText | CE | m | 1 | Char(1) |
The technical environment where the report was generated. Valid values: D: Development A: Acceptance S: Simulation P: Production |
||||
| rptCod | CE | m | 1 | Char(5) |
The naming code of the XML report. Valid values: TC540 TC810 TC820 TC840 |
||||
| rptNam | CE | m | 1 | Char(53) | The XML report name | ||||
| membLglNam | CE | o | 0..1 | Char(40) |
The market area. Valid values: A valid market area (short name) |
||||
| rptPrntEffDat | CE | m | 1 | Date | The print effective date of the XML report. All data in the report refers to this trading day. | ||||
| rptPrntRunDat | CE | m | 1 | Date | The run date of the XML report. This is the day when the report was created. | ||||
| tc810Grp | SE | o | 0..n | Structure | Conditions: present only if at least one trade was matched, trade cancelled, or trade recall was granted on rptPrntEffDat | ||||
| tc810KeyGrp | SE | m | 1 | Structure | |||||
| membExcIdCod | CE | m | 1 | Char(5) | The “Member ID” of the latest order owner. For orders created by M7 as a result of AOT, it is the “Member ID” of the order owner before the AOT has been performed. | ||||
| membClgIdCod | CE | m | 1 | Char(5) | The “Member ID” of the clearing member | ||||
| stlIdAct | CE | m | 1 | Char(10) |
The Settlement ID Account. Valid values: Always “0000” |
||||
| stlIdLoc | CE | m | 1 | Char(3) |
The Settlement Location ID. valid values: Always “ECC” |
||||
| instTitl | SE | m | 1 | Structure | |||||
| wknNo | CE | o | 0..1 | Char(9) | DEPRECATED This field contains the WKN number | ||||
| isinCod | CE | m | 1 | Char(128) | The contract identifier. It is the long name of the contract. | ||||
| cntcUnt | CE | m | 1 | Decimal |
The “Contract Unit” field contains the number of traded contract units/delivery units of a product in relation to basic period. This value is defined by product attribute “Delivery Units”, which is set during the product configuration. Example: If the basic period is 1 month, for 3 month products cntcUnt is 3. For a UDDP block order, the value is calculated from the delivery start and delivery end of the block. In case of remote Commodities products, the cntcUnt is assumed to be equal to the delivery period length, expressed as a number of hours. For a UDB contract, the value is equal to the appropriate multiple of delivery periods of the underlying Commodities product. For more information, please refer to MFG130. |
||||
| product | CE | m | 1 | Char(32) | The name of the product. | ||||
| currTypCod | CE | m | 1 | Char(3) |
Currency Type Code contains the currency in which the product is traded and the related fees are charged. Valid values: A valid ISO code |
||||
| tc810Grp1 | SE | m | 1..n | Structure | |||||
| tc810KeyGrp1 | SE | m | 1 | Structure | |||||
| partIdCod | CE | m | 1 | Char(6) | The “User Code” of the latest order owner. For orders created by M7 as a result of AOT, it is the “User Code” of the latest order owner before the AOT has been performed. | ||||
| tc810Rec | SE | m | 1..n | Structure | |||||
| mktArea | CE | m | 1 | Char(8) |
The market area. Valid values: A valid market area (short name) |
||||
| tso | CE | m | 1 | Char(8) | The short name of a delivery area | ||||
| balGrp | CE | m | 1 | Char(32) | Balancing Group for which the order was entered. | ||||
| clgHseCode | CE | o | 0..1 | Char(4) |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing house code was specified as part of the respective order. |
||||
| clgAcctId | CE | o | 0..1 | Integer |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing account ID was specified as part of the respective order. |
||||
| tranTim | CE | m | 1 | Time |
The transaction timestamp. The exact time when the trade execution or modification was performed. Valid values: Any time in the format hh:mm:ss:ccc. |
||||
| tranIdNo | CE | m | 1 | Long | A unique identifier of a trade per day (“Trade ID”) | ||||
| tranIdSfxNo | CE | o | 0..1 | Integer |
The Transaction ID Suffix Number. The field contains the revision number of the trade. Valid values: Usually “1”, the value changes e.g. when a trade recall is granted by a Market Operator. |
||||
| remoteTranIdNo | CE | o | 0..1 | Long |
A unique identifier of a trade per day assigned by XBID SOB (“Trade ID”) Conditions: Present if the trade was executed or modified by XBID SOB |
||||
| remoteTranIdSfxNo | CE | o | 0..1 | Integer |
The Remote Transaction ID Suffix Number. The field contains the revision number of the trade on the XBID SOB. Valid values: Usually “1”, the value changes e.g. when a trade recall is granted by XBID Central Admin. Conditions: Present if the trade was executed or modified by XBID SOB |
||||
| tranTypCod | CE | o | 0..1 | Char(1) |
The transaction type code describes the action performed on a trade. " " - Regular trade execution Q - Trade with requested recall R - Recalled trade J - Trade with rejected recall C - Cancelled trade |
||||
| typOrig | CE | o | 0..1 | Char(1) |
The transaction type indicates whether the trade is an OTC or a non-OTC trade. " " - Matched trade O - OTC trade |
||||
| aggressorIndicator | CE | m | 1 | Char(1) |
Indicates whether the executed order was as a trade aggressor or as a trade originator. Valid values: Y- Trade aggressor N - Trade originator U - Unknown, used for executed orders of remote products, orders transferred to linked contracts and data before migration |
||||
| isinCod | CE | o | 0..1 | Char(128) | The contract identifier. It is the long name of the contract. | ||||
| ordrNo | CE | o | 0..1 | Long | The “Order ID”. It may be changed when the order is modified. | ||||
| acctTypCodGrp | CE | m | 1 | Char(2) |
The account type group. Valid values: A or A1..A9 - Agent account P or P1..P9 - Proprietary account |
||||
| ordrBuyCod | CE | m | 1 | Char(1) |
Order Buy Code. It indicates whether the order is a buy or a sell order. Valid values: B - Buy order S - Sell order |
||||
| openCloseInd | CE | o | 0..1 | Char(1) |
The open close indicator. It shows whether the order is linked to an open or close position. Valid values: O - Open position indicator C - Close position indicator Conditions: Present if the order was submitted with a valid value in the “Open Close Indicator” field |
||||
| tradMtchQty | CE | m | 1 | Decimal | The trade match quantity. This is the quantity executed in the trade in “qtyUnit”. | ||||
| tradMtchPrc | CE | m | 1 | tradMtchPrcType |
The trade match price. This is the price at which the trade was executed. Conditions: present if actnCod is either: “M” (full match) or “P” (partial match). |
||||
| tradPhase | CE | o | 0..1 | Char(10) |
The trade phase in which the trade was executed. Valid values: Auction Balancing Continuous SDAT Same Delivery Area Trading |
||||
| stlDate | CE | m | 1 | Date | The settlement date. It is defined by the delivery start date of the contract | ||||
| feeAmt | CE | m | 1 | Decimal |
The fee amount. Valid values: Always “0” |
||||
| membCtpyIdCod | CE | m | 1 | Char(5) | The “Member ID” of the order owner. If contained in the tag ctpyMembPartIdCod, the field contains the “Member ID” of the order owner counterparty. | ||||
| text | CE | o | 0..1 | Char(250) |
The text entered in the text field of an order. For orders created by M7 as a result of AOT it is the last “text” of the related remote order before the AOT has been performed. Conditions: Present if the text field is not empty |
||||
| membExcIdCodOboMs | CE | o | 0..1 | Char(5) | The “Member ID” of the admin user who granted a recall or cancelled a trade. | ||||
| partIdCodOboMs | CE | o | 0..1 | Char(6) |
The “User Code” of the admin user who granted a recall or cancelled a trade. Conditions: Present if the trade was cancelled or a trade recall was granted by an admin user |
||||
| brokerMembIdCod | CE | o | 0..1 | Char(5) |
The “Member ID” of the broker Conditions: present if the trade was modified by a broker user on behalf of another user |
||||
| brokerUserIdCod | CE | o | 0..1 | Char(6) |
The “User Code” of the broker Conditions: present if the action was modified by a broker user on behalf of another user |
||||
| selfTrade | CE | o | 0..1 | Char(1) |
The flag if trade is a self-trade: Trade inside one balancing group or Trade between two different balancing groups within one member Valid values: Y - Yes N - No |
||||
| recallRequestor | CE | o | 0..1 | Char(5) | The Member Id of the party who initiated the trade recall. Filled only in case report is generated for admin or user who belongs to same balancing group as user who initiated the recall. | ||||
| location | CE | o | 0..1 | Char(64) |
Location of trade within the delivery area. Condition: Present if the location for orders was submitted. |
||||
| sumPartTotBuyOrdr | CE | m | 1 | Decimal | The total quantity bought by the user (the respective “partIdCod” field) in “qtyUnit”. The quantity is reported per contract for the trading day stated in the “rptPrntEffDat” field. | ||||
| sumPartTotSellOrdr | CE | m | 1 | Decimal | The total quantity sold by the user (the respective “partIdCod field) in”qtyUnit“. The quantity is reported per contract for the trading day contained in the”rptPrntEffDat" field. | ||||
| sumMembTotBuyOrdr | CE | m | 1 | Decimal | The total quantity bought by a member in “qtyUnit” per contract on the trading day contained in the “rptPrntEffDat” field. | ||||
| sumMembTotSellOrdr | CE | m | 1 | Decimal | The total quantity sold by a member in “qtyUnit” per contract on the trading day contained in the “rptPrntEffDat” field. | ||||
6.4 TC820 Daily Open OTC Maintenance
| Description | The report contains a list of all OTC orders which have been modified for each member during the trading day. For each member, this report is arranged by traders and contracts and lists all measures taken for the maintenance of OTC orders during the trading day. For market operations, the report is an aggregation of all member reports, arranged by members and then as described previously. |
| Frequency | Daily |
| Generation | Triggered by timer |
| Availability | Report user of a non-Admin member + market operations report user |
6.4.1 TC820 Selection Criteria and Target Group
This report can be created to be member-specific, as well as for market operations. The latter receives the report with the OTC orders for all members.
This report shows all maintenance actions for OTC orders for the last closed trading period (day) in continuous trading.
6.4.2 TC820 Structural Logic
For each member, a <tc820Grp> contains all open OTC orders that have been modified by its users. Inside this group tag, the orders are separated by the user’s code, where the orders of each individual user are listed in an extra <tc820Grp1>. Inside this group, the orders for one trader but different contracts as listed in separate <tc820Grp2> tags.
Finally, inside each of these tags, the orders are listed inside the <tc820Rec>, while each maintenance action performed on an order is listed in an individual record.
The report does not necessarily contain the complete lifecycle of an OTC order, as it lists only the maintenance actions for one trading day, which is displayed in the tag <rptPrntEffDat>.
6.4.3 TC820 Example
Member A has two traders called Trader I and Trader II. Trader I performed two maintenance actions on an OTC order for contract X and Trader II performed one maintenance action on an OTC order for the same contract X and two maintenance actions on an OTC order for contract Y. Some of the orders have been entered the day before. However, the TC820 only contains the actions that were performed on the trading day stated in the “rptPrntEffDat” field.
The resulting report structure is:
<tc820Grp> <!-- contains all actions of Member A -->
<tc820Grp1> <!-- contains all actions of Trader I -->
<tc820Grp2> <!-- contains all actions of Trader I on contract X -->
<tc820Rec> <!-- the first action of Trader I on order of contract X -->
<tc820Rec> <!-- the second action of Trader I on order of contract X -->
<tc820Grp1> <!-- contains all actions of Trader II -->
<tc820Grp2> <!-- contains all actions of Trader II on contract X -->
<tc820Rec> <!-- an action of Trader II on order of contract X -->
<tc820Grp2> <!-- contains all actions of Trader II on contract Y -->
<tc820Rec> <!-- the first action of Trader II on order of contract Y -->
<tc820Rec> <!-- the second action of Trader II on order of contract Y -->6.4.4 TC820 Structure
| XML Tag | Type | m/o | No. | Data Type | Short description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tc820 | SE | m | 1 | Structure | TC820 Daily Open Otc Maintenance | ||||||||
| rptHdr | SE | m | 1 | Structure | |||||||||
| exchNam | CE | m | 1 | Char(6) | The name of the exchange the report was created for. | ||||||||
| envText | CE | m | 1 | Char(1) |
The technical environment where the report was generated. Valid values: D: Development A: Acceptance S: Simulation P: Production |
||||||||
| rptCod | CE | m | 1 | Char(5) |
The naming code of the XML report. Valid values: TC540 TC810 TC820 TC840 |
||||||||
| rptNam | CE | m | 1 | Char(53) | The XML report name | ||||||||
| membLglNam | CE | o | 0..1 | Char(40) |
The market area. Valid values: A valid market area (short name) |
||||||||
| rptPrntEffDat | CE | m | 1 | Date | The print effective date of the XML report. All data in the report refers to this trading day. | ||||||||
| rptPrntRunDat | CE | m | 1 | Date | The run date of the XML report. This is the day when the report was created. | ||||||||
| tc820Grp | SE | o | 0..n | Structure | Conditions: present only if an order was modified on rptPrntEffDat | ||||||||
| tc820KeyGrp | SE | m | 1 | Structure | |||||||||
| membExcIdCod | CE | m | 1 | Char(5) | The “Member ID” of the order owner. If contained in the tag ctpyMembPartIdCod, the field contains the “Member ID” of the order owner counterparty. | ||||||||
| tc820Grp1 | SE | m | 1..n | Structure | |||||||||
| tc820KeyGrp1 | SE | m | 1 | Structure | |||||||||
| partIdCod | CE | o | 0..1 | Char(6) | The “User Code” of the latest order owner. For orders created by M7 as a result of AOT, it is the “User Code” of the latest order owner before the AOT has been performed. | ||||||||
| tc820Grp2 | SE | m | 1..n | Structure | |||||||||
| tc820KeyGrp2 | SE | m | 1 | Structure | |||||||||
| instTitl | SE | m | 1 | Structure | |||||||||
| wknNo | CE | o | 0..1 | Char(9) | DEPRECATED This field contains the WKN number | ||||||||
| isinCod | CE | m | 1 | Char(128) | The contract identifier. It is the long name of the contract. | ||||||||
| product | CE | m | 1 | Char(32) | The name of the product. | ||||||||
| currTypCod | CE | m | 1 | Char(3) |
Currency Type Code contains the currency in which the product is traded. Valid values: A valid ISO code |
||||||||
| tc820Rec | SE | m | 1..n | Structure | |||||||||
| mktArea | CE | m | 1 | Char(8) |
The market area. Valid values: A valid market area (short name) |
||||||||
| tso | CE | m | 1 | Char(8) | The short name of a delivery area | ||||||||
| balGrp | CE | m | 1 | Char(32) | Balancing Group for which the order was entered. | ||||||||
| clgHseCode | CE | o | 0..1 | Char(4) |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing house code was specified as part of the respective order. |
||||||||
| clgAcctId | CE | o | 0..1 | Integer |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing account ID was specified as part of the respective order. |
||||||||
| aggressorIndicator | CE | o | 0..1 | Char(1) |
Indicates whether the executed order was as a trade aggressor or as a trade originator. Valid values: Y- Trade aggressor N - Trade originator U - Unknown, used for executed orders of remote products, orders transferred to linked contracts and data before migration |
||||||||
| tranTim | CE | m | 1 | Time | The transaction timestamp. The exact time when the trade execution or modification was performed. | ||||||||
| tranTypCod | CE | m | 1 | Char(1) |
The transaction type code describes the maintenance action performed on an OTC order. A - Add C - Change D - Delete H - Hibernation (deactivation) M - Full match X - System deletion (order expiration) |
||||||||
| otcTrdTim | CE | o | 0..1 | Time |
The OTC trade time. It is the time when the OTC order was accepted by the counterparty. Conditions: present if an OTC order was accepted by the counterparty. |
||||||||
| tranIdNo | CE | m | 1 | Long | An “Order ID” of an OTC order | ||||||||
| ordrBuyCod | CE | m | 1 | Char(1) |
Order Buy Code. It indicates whether the order is a buy or a sell order. Valid values: B - Buy order S - Sell order |
||||||||
| acctTypCodGrp | CE | m | 1 | Char(2) |
The account type group. Valid values: A or A1..A9 - Agent account P or P1..P9 - Proprietary account |
||||||||
| ordrQty | CE | m | 1 | Decimal | The order quantity in “qtyUnit”. After a trade, the quantity is reduced by the amount executed in the last trade until the order is fully matched (quantity = 0.0). For iceberg orders it is the current exposed quantity (the current size of the active slice). For orders created by M7 as a result of AOT it is the last ordrQty of the related remote order before the AOT has been performed. | ||||||||
| ordrExePrc | CE | m | 1 | Decimal | The limit price and execution price of the OTC order (OTC orders are always matched at the initial limit price). | ||||||||
| ordrValCode | CE | m | 1 | Char(3) |
The validity restriction of an order. GFS - Good For Session GTD - Good Till Date NON - None, if the execution restriction is “IOC” or “FOK”. |
||||||||
| valDat | CE | o | 0..1 | Char(23) |
If the validity restriction of an order (“ordrValCode”) is “GTD”, the “valDat” field will contain the data and time when an order will be deleted. Valid values: Format is: YYYY-MM-DD hh:mm+hh:mm where YYYY-MM-DD hh:mm is the timestamp in CET/CEST, and +hh:mm is the UTC offset Conditions: present if ordrValCode is “GTD” |
||||||||
| ctpyMembPartIdCod | SE | m | 1 | Structure | |||||||||
| membExcIdCod | CE | m | 1 | Char(5) | This field contains the member id code. | ||||||||
| partIdCod | CE | m | 1 | Char(6) | The “User Code” of the latest order owner. For orders created by M7 as a result of AOT, it is the “User Code” of the latest order owner before the AOT has been performed. | ||||||||
| mktArea | CE | m | 1 | Char(8) |
The market area. Valid values: A valid market area (short name) |
||||||||
| balGrp | CE | m | 1 | Char(32) | Balancing group, for which order was entered. | ||||||||
| clgHse | SE | o | 0..1 | Structure | DEPRECATED Conditions: present only if a clearing house was specified as part of the order | ||||||||
| clgHseCode | CE | m | 1 | Char(4) |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing house code was specified as part of the respective order. |
||||||||
| clgAcct | SE | m | 1 | Structure | DEPRECATED | ||||||||
| clgAcctId | CE | m | 1..n | Integer |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing account ID was specified as part of the respective order. |
||||||||
| clgAcctId | CE | o | 0..1 | Integer |
DEPRECATED The code of the clearing house for which the order was entered, respectively modified; or for which the trade was executed, respectively modified. Condition: Present if a clearing account ID was specified as part of the respective order. |
||||||||
| aggressorIndicator | CE | o | 0..1 | Char(1) |
Indicates whether the executed order was as a trade aggressor or as a trade originator. Valid values: Y- Trade aggressor N - Trade originator U - Unknown, used for executed orders of remote products, orders transferred to linked contracts and data before migration |
||||||||
| stlDate | CE | m | 1 | Date | The settlement date. It is defined by the delivery start date of the contract | ||||||||
| setlmCod1 | CE | m | 1 | Char(3) |
The settlement code. Valid values: Always “DVP” |
||||||||
| text | CE | o | 0..1 | Char(250) |
The text entered in the text field of an order. For orders created by M7 as a result of AOT it is the last “text” of the related remote order before the AOT has been performed. Conditions: Present if the text field is not empty |
||||||||
| membExcIdCodOboMs | CE | o | 0..1 | Char(5) |
The “Member ID” of the user who performed a maintenance action on behalf of the order owner. For orders created by M7 as a result of AOT, it is the “Member ID” of the order owner before the AOT has been performed. Conditions: Present if the maintenance step was performed by an admin or a trader user that performed an on behalf action |
||||||||
| partIdCodOboMs | CE | o | 0..1 | Char(6) |
The “User Code” of the user who performed a maintenance action on behalf of the order owner. For orders created by M7 as a result of AOT it is the string “SYSTEM”. Conditions: Present if the maintenance step was performed by an admin or a trader user that performed an on behalf action |
||||||||
6.5 TC840 RefData Report
| Description | This report contains a list of all members with complete information and appropriate balancing group and user information. |
| Frequency | Daily |
| Generation | Triggered by timer |
| Availability | Market Operations only |
6.5.1 TC840 Selection Criteria and Target Group
As this report is for market operations only, it contains information for all members.
6.5.2 TC840 Structural Logic
The TC840 report contains the reference data information which was valid at the time of the report generation.
The main component of the report is the member. For each member, the report states the general member-related information such as its ID, status, contact details or cash limit settings. The member information is then followed by a list of balancing groups which are assigned to this particular member. For each balancing group, the report contains the list of its assigned delivery areas and products. After that, the users belonging to that member and their related information are listed, including their assigned balancing groups, user roles and additional rights.
6.5.3 TC840 Example
Let’s assume that the relationships between the entities and their instances are as depicted in the following diagram (users’ details, additional rights etc. which appear in the resulting report are not shown).
Figure 1: Instance Diagram
The resulting TC840 report:
<tc840>
<member_list>
<member>
<idCode>ADMIN</idCode>
<name>Demo Market Operations</name>
<status>ACTI</status>
<type>ADM</type>
<cashLimit_list></cashLimit_list>
<balGrp_list>
<balGrp>
<balGrp>ADMBG----------X</balGrp>
<status>ACTI</status>
<name>Admin Balancing Group</name>
<otcTrading>N</otcTrading>
<assignedTso>
<assignedTso>DEMODA---------X</assignedTso>
</assignedTso>
<assignedProduct>
<product>Hourly</product>
</assignedProduct>
<assignedProduct>
<product>Quarterly</product>
</assignedProduct>
</balGrp>
</balGrp_list>
<user_list>
<user>
<idCode>ADMI01</idCode>
<loginId>M7ADMI01</loginId>
<name>Jeremy Kyle</name>
<status>ACTI</status>
<email>Jeremy.Kyle@demo.market.operations.com</email>
<defaultBalGrp>ADMBG----------X</defaultBalGrp>
<assignedBalGrp>
<balGrp>ADMBG----------X</balGrp>
</assignedBalGrp>
<role>AD</role>
<additionalRight>
<additionalRight>
<right>API</right>
</additionalRight>
<right>ASA</right>
</additionalRight>
<additionalRight>
<right>REF</right>
</additionalRight>
</user>
<user>
<idCode>RPT001</idCode>
<loginId>M7RPRT01</loginId>
<name>Marianna Mrkvickova</name>
<status>ACTI</status>
<email>Marianna.Mrkvickova@demo.market.operations.com</email>
<defaultBalGrp>ADMBG----------X</defaultBalGrp>
<assignedBalGrp>
<balGrp>ADMBG----------X</balGrp>
</assignedBalGrp>
<role>RE</role>
</user>
</user_list>
</member>
<member>
<idCode>TM001</idCode>
<name>Trading Company</name>
<status>ACTI</status>
<type>REG</type>
<cashLimit_list></cashLimit_list>
<balGrp_list>
<balGrp>
<balGrp>TRDBG----------X</balGrp>
<status>ACTI</status>
<name>Demo Balancing Group</name>
<otcTrading>Y</otcTrading>
<assignedTso>
<assignedTso>DEMODA---------X</assignedTso>
</assignedTso>
<assignedProduct>
<product>Hourly</product>
</assignedProduct>
</balGrp>
</balGrp_list>
<user_list>
<user>
<idCode>TRD001</idCode>
<loginId>M7TRD001</loginId>
<name>Peter Chytry</name>
<status>ACTI</status>
<email>Peter.Chytry@trading.company.com</email>
<defaultBalGrp>TRDBG----------X</defaultBalGrp>
<assignedBalGrp>
<balGrp>TRDBG----------X</balGrp>
</assignedBalGrp>
<role>TR</role>
<additionalRight>
<right>API</right>
</additionalRight>
<additionalRight>
<right>ASA</right>
</additionalRight>
<additionalRight>
<right>CAP</right>
</additionalRight>
</user>
</user_list>
</member>
</tc840>6.5.4 TC840 Structure
| XML Tag | Type | m/o | No. | Data Type | Short description | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| tc840 | SE | m | 1 | Structure | TC840 Weekly Member Maintenance | ||||||
| rptHdr | SE | m | 1 | Structure | |||||||
| exchNam | CE | m | 1 | Char(6) | The name of the exchange the report was created for. | ||||||
| envText | CE | m | 1 | Char(1) |
The technical environment where the report was generated. Valid values: D: Development A: Acceptance S: Simulation P: Production |
||||||
| rptCod | CE | m | 1 | Char(5) |
The naming code of the XML report. Valid values: TC540 TC810 TC820 TC840 |
||||||
| rptNam | CE | m | 1 | Char(53) | The XML report name | ||||||
| membLglNam | CE | o | 0..1 | Char(40) |
The market area. Valid values: A valid market area (short name) |
||||||
| rptPrntEffDat | CE | m | 1 | Date | The print effective date of the XML report. All data in the report refers to this trading day. | ||||||
| rptPrntRunDat | CE | m | 1 | Date | The run date of the XML report. This is the day when the report was created. | ||||||
| member_list | SE | m | 1 | Structure | |||||||
| member | SE | m | 1..n | Structure | |||||||
| idCode | CE | m | 1 | Char(5) |
Member ID code User ID coded |
||||||
| name | CE | m | 1 | Char(32) | Member name, Balancing Group name, User name | ||||||
| status | CE | m | 1 | Char(4) |
Member status, Balancing group status, User status. Valid values: ACTI - Member/Balancing group/User is active DELE - Member/Balancing group/User is deleted SUSP - Member/Balancing group/User is suspended |
||||||
| type | CE | m | 1 | Char(3) |
Member type ADM - Admin REG - Regular BRK - Broker |
||||||
| department | CE | o | 0..1 | Char(64) |
Member address - department Conditions: Present if the information was provided |
||||||
| street | CE | o | 0..1 | Char(64) |
Member address: street Conditions: Present if the information was provided |
||||||
| city | CE | o | 0..1 | Char(64) |
Member address: city Conditions: Present if the information was provided |
||||||
| postCode | CE | o | 0..1 | Char(16) |
Member address: postal code Conditions: present if the information was provided |
||||||
| country | CE | o | 0..1 | Char(64) | Member address: country | ||||||
| trdCntcName1 | CE | o | 0..1 | Char(64) | Member trading contact: Name 1 | ||||||
| trdCntcPhone1 | CE | o | 0..1 | Char(64) | Member trading contact: Phone 1 | ||||||
| trdCntcName2 | CE | o | 0..1 | Char(64) | Member trading contact: Name 2 | ||||||
| trdCntcPhone2 | CE | o | 0..1 | Char(64) | Member trading contact: Phone 2 | ||||||
| clrCntcName1 | CE | o | 0..1 | Char(5) |
Member clearing contact: Name 1 Conditions: Present if the information was provided |
||||||
| clrCntcPhone1 | CE | o | 0..1 | Char(5) |
Member clearing contact: Phone 1 Conditions: Present if the information was provided |
||||||
| clrCntcName2 | CE | o | 0..1 | Char(5) |
Member clearing contact: Name 2 Conditions: Present if the information was provided |
||||||
| clrCntcPhone2 | CE | o | 0..1 | Char(5) |
Member clearing contact: Phone 2 Conditions: Present if the information was provided |
||||||
| cashLimit_list | SE | m | 1 | Structure | |||||||
| iniLimit | SE | o | 0..n | Structure | Conditions: Present if a cash limit for the member was defined | ||||||
| value | CE | m | 1 | Long | Member initial cash limit | ||||||
| decShft | CE | m | 1 | Integer |
The decimal shift of the limit Valid values: Always 2. |
||||||
| currTypCod | CE | m | 1 | Char(3) |
Currency of the limit. Valid values: A valid ISO code |
||||||
| validFrom | CE | o | 0..1 | Date | The first date from which the initial cash limit is applicable. | ||||||
| validTo | CE | o | 0..1 | Date | The last date from which the initial cash limit is applicable. | ||||||
| limitId | CE | m | 1 | Long | The internal identifier of a limit. | ||||||
| revisionNo | CE | m | 1 | Long | The internal revision value of a limit. | ||||||
| externalLimitId | CE | o | 0..1 | Long |
The external identifier of a limit. Conditions: present if the limit was entered via upload. |
||||||
| externalVersion | CE | o | 0..1 | Long |
The external version of a limit. Conditions: present if the limit was entered via upload. |
||||||
| cashLimitType | CE | m | 1 | Char(1) |
Type of limit. Valid values: I - Internal limit E- External limit |
||||||
| balGrp_list | SE | m | 1 | Structure | |||||||
| balGrp | SE | m | 1..n | Structure | Conditions: Present if a balancing group has been assigned to the member | ||||||
| balGrp | CE | m | 1 | Char(32) | Balancing Group for which an assignment Member-BG or User-BG exists. | ||||||
| status | CE | m | 1 | Char(4) |
Member status, Balancing group status, User status. Valid values: ACTI - Member/Balancing group/User is active DELE - Member/Balancing group/User is deleted SUSP - Member/Balancing group/User is suspended |
||||||
| name | CE | m | 1 | Char(32) | Member name, Balancing Group name, User name | ||||||
| otcTrading | CE | m | 1 | Char(1) |
If OTC trading for balancing group is allowed or not. Valid values: Y - Yes, OTC trading is enabled. N - No, OTC trading is not enabled. |
||||||
| assignedTso | SE | m | 1..n | Structure | |||||||
| tso | CE | m | 1 | Char(8) | The short name of a delivery area | ||||||
| assignedProduct | SE | m | 1..n | Structure | |||||||
| product | CE | m | 1 | Char(32) | The name of the product. | ||||||
| user_list | SE | m | 1 | Structure | |||||||
| user | SE | m | 1..n | Structure | Conditions: Present if the member has at least one user | ||||||
| idCode | CE | m | 1 | Char(6) | Member ID code / User ID code | ||||||
| loginId | CE | m | 1 | Char(8) |
Login ID of the user. Valid values: A valid login ID of the user. Example: CXTRAD01 |
||||||
| name | CE | m | 1 | Char(32) | Member name, Balancing Group name, User name | ||||||
| status | CE | m | 1 | Char(4) |
Member status, Balancing group status, User status. Valid values: ACTI - Member/Balancing group/User is active DELE - Member/Balancing group/User is deleted SUSP - Member/Balancing group/User is suspended |
||||||
| CE | o | 0..1 | Char(32) |
E-Mail-Address of the user. Conditions: Mandatory only for Active users. |
|||||||
| defaultBalGrp | CE | m | 1 | Char(32) | Default Balancing Group of the user. | ||||||
| lastLogin | CE | o | 0..1 | DateTime |
Last login of the user. Format is: YYYY-MM-DD hh:mm+hh:mm where YYYY-MM-DD hh:mm is the timestamp in CET/CEST, and +hh:mm is the UTC offset Conditions: Present if the user has logged in |
||||||
| applicationId | CE | o | 0..1 | Char(255) |
Application ID which is available for the user at the time of the report generation. Conditions: Present if the user has logged in |
||||||
| applicationVer | CE | o | 0..1 | Char(32) |
The version of the application which is available for the user at the time of the report generation. Conditions: Present if the the last login contained this information |
||||||
| assignedBalGrp | SE | o | 0..n | Structure | Conditions: Present if a balancing group has been assigned to the user | ||||||
| balGrp | CE | m | 1 | Char(32) | Balancing Group for which an assignment Member-BG or User-BG exists. | ||||||
| role | CE | m | 1 | Char(2) |
Assigned user role If member type = Admin: AD - Admin CL - Clearing RE - Reporting SA - Sales SE - Settlement If member type = Regular: BU - Balancing User RB - Redispatch Balancing User DV - Data Vendor RE - Reporting TR - Trader If member type = Broker: BR - Broker RE - Reporting |
||||||
| additionalRight | SE | o | 0..n | Structure | Conditions: Present if the user has at least one additional right | ||||||
| right | CE | m | 1 | Char(3) |
Assigned additional user rights If role = Admin: API - Public API ASA - Allow System Access CAP - Capacity Info REF - Reference Data GUI SAD - Superadmin TRC - Trade Recall and Trade Cancellation If role = Sales: API - Public API ASA - Allow System Access CAP - Capacity Info If role = Settlement: API - Public API ASA - Allow System Access If role = Balancing User: API - Public API ONB - On Behalf RTR - Regular Trading If role = Data Vendor: API - Public API ASA - Allow System Access CAP - Capacity Info If role = Trader: API - Public API ASA - Allow System Access CAP - Capacity Info MAM - Market Maker ONB - On Behalf RON - Read Only If role = Broker: AOT - Allow Own Trading API - Public API ASA - Allow System Access CAP - Capacity Info ONB - On Behalf RON - Read Only |
||||||
| deliveryRiskApplied | CE | o | 0..1 | Boolean |
Indicates if delivery risk applies to the member. Its application affects cash limit calculation. For more details, please refer to Delivery Risk in DFS170. Conditions: Provided if the delivery risk feature is enabled for the exchange, and, at the same time, if the delivery risk is applied to the member (= value =true).
|
||||||