CDOTE offers a way to integrate your different Commodity Management components. But how is this done from a process point of view within the system? What options do I have there as a user?
To answer that question is my target for today.
Let us start by looking at the overall high-level process diagram for CDOTE.
There we see that the process always starts with the Trader. When the Trader intends to place an Order Request at the Market he can do so in several ways:
- Create a Hedge Order (an Order Request that is meant to manage an open position without a direct link to a physical contract)
- Create a Pricing Order (an Order Request that is meant to manage a price risk originating from one or several physical contracts)
- Directly get into contact with the Broker and place the Order Request (CDOTE is capable of handling Order Fulfillment Statements without having a corresponding Order Request in the system)
When it comes to creating a Hedge Order the Trader can use the “Manage Orders” App. Using that App, he can either create a normal Hedge Order or a Spread Hedge Order. Both can be placed at the Market or be traded with an internal or external counterparty.
In cases where the Trader wants to manage a price risk originating from a physical contract he can do so directly when maintaining the individual physical contract. With the Pricing Orders the user can manage price fixations, price liftings, quantity cancellations or spreads. Also Pricing Orders can be placed at the Market or be traded with an internal or external counterparty.
A functionality only available within SAP Agricultural Contract Management is Mass Pricing. With that a Trader can select multiple contracts and choose to price them together. The options for pricing the contracts are the same as for other Pricing Orders.
After the Order Request is created within CDOTE it can be reviewed and sent to the Broker. The system can also be setup in a way that the Order Requests are directly sent to the Broker after creating them.
When an Order Request gets sent to the Broker a FIX message string is built based on the data defined in the CDOTE Broker. FIX is a messaging protocol with two major blocks. Formatting and Messaging. The Formatting, meaning the creation / parsing of a message compliant with the format, is completed within CDOTE, afterwards it can be transferred to a FIX engine which manages the Messaging part of the FIX protocol.
The CDOTE Broker business partner role defines hereby the version of the standard that should be used.
When the Order Request has been transmitted the Broker might send back an acknowledgement, a rejection of the Order Request or an Order Fulfillment statement. All of them can be handled by CDOTE and will lead to an update to the respective Order Request.
In case an Order Fulfillment statement – or Fill statement – is received from the Broker, CDOTE will create a Fill object (which can be reviewed in the “Display Fills” App).
In certain cases Fills might belong logically together and should only be processed together (E.g. a Broker will send for a Spread Order a single Fill for long and one for short). Therefore, CDOTE will group Fills in an object called a Fill Packet. Those Fill Packets can be displayed in the “Manage Fill Packets” App.
As soon as such a Fill Packet has received all associated Fills the update of the physical document (in case of a Pricing Order), as well as the creation of the Commodity Future transaction, is triggered. Whereby for each Fill of a Fill Packet the creation of a Commodity Future transaction will be triggered (e.g. in case of a Spread Order a long and a short Commodity Future will be created)
Fill Statements can also be received for Order Requests which were not maintained in the system. For more details on that you can check an earlier blog post: Handle Incoming Messages for Orders not Originating from CDOTE
Looking once more at the process flow one can notice that additional master data was introduced with CDOTE. The newly created business partner role is an example of this. But even more importantly for CDOTE is the Subaccount. The Subaccount is an entity that allows you to group your Order Requests and make sure that they are assigned to the correct Futures Accounts. It can also be enhanced by additional fields e.g. your free characteristics, which can then be reflected in the Commodity Future transactions and the book structure in risk analytics within SAP Commodity Risk Management. They can be managed using the “Manage Subaccounts” App.