Skip to Content
Product Information
Author's profile photo Sebastian Nötzel

CDOTE Enhancements Part 2

In my last Blog post (you can find it here), I wrote about the BAdIs that CDOTE has to offer. Today I want to talk about the not so obvious enhancement option that CDOTE has. Namely the definition of own FIX Processing Classes and also point out some helpful APIs.

 

Although I covered how this can be achieved in a blog that I published three years ago here.
What might not be clear from that is that it is not just about manipulating specific fields of the FIX message, but instead you can completely tailor the FIX message processing to the needs of the FIX protocol version/dialect used by your FIX Engine and to the processing needs that you have due to your business case.

For example, you could create your own subclass of CL_CMMFDAI_FIXMSG_BUILDER and redefine method ADD_FIX_BODY to completely alter the structure of the outgoing FIX Message. Adding / Deleting as many tags as you like.

Another example would be to create a subclass of CL_CMMFDAI_FIX_MSG_PROCESSOR and redefine method DO_FILL_UPLOAD. With that you can alter the conditions when and how a Fill should be created based on a received FIX statement.

It would even be worth a try to use this mechanism in case you want to use another protocol that is not FIX.

That flexibility gives you a lot of potential to adapt CDOTE to really cater your needs when it comes to FIX processing. You could also use it to add additional information to Fills. But for that you would also need to enhance the BOPF objects, which is unfortunately deactivated for all CDOTE nodes.

 

Besides that, you for sure also have the option to use the APIs that are defined by CDOTE and used by for example the Fiori Apps.

Just some examples:

In case the Upload Format for Fills does not suit your needs: Create your own Format, map it to the format defined by table type CMMFDOF_T_FILL and call AIF. Such a call could look like:

/aif/cl_enabler_xml=>transfer_to_aif_mult( it_any_structure = lt_fill_data ).

 

You do not like one of the Apps or the Order Creation Process within the Apps does not cater your requirements? Or do you already have a Front Office Tool in place and want to integrate it to CDOTE?

In both cases you can use the Services provided by CDOTE and use them as the basis of your integration / own developed App.

The Service names for that are (Gateway Project names are the same, just without the “_SRV”):

  • CMMFDOR_COMMODITYORDERREQUEST_SRV – For Order Requests
  • CMMFDOR_COMMODITYORDREQBRACKET_SRV – For Order Request Brackets
  • CMMFDOF_FILL_PACKET_SRV – For Fill Packet Handling
  • CMMFDOF_ORDER_FILL_SRV – For Fill Handling
  • CMMFSA_COMMODITYSUBACCOUNT_SRV – For Subaccount Handling

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Olga Bieliachenko
      Olga Bieliachenko

      Thank you so much Sebastian!

      There is so few explanation on this topic!

      I want to ask you one question, as I still could not understand if we could apply this functionality to the following client requirement:

      Client want to set a possibility to record a Target price. It is a pre-determined price that the client aims to receive for their commodity. It also has some validity period. We expect from the system, that in case today let say Stock Exchange market price will be equal or more, system will automatically priced the Contract with this Target price and send notification.

      Is it possible to customize? Customizing with the enhancement?

      Will be highly appreciate for an answer!

       

      KR,

      Olga

      Author's profile photo Sebastian Nötzel
      Sebastian Nötzel
      Blog Post Author

      Hello Olga,

      Happy that the explanations help you!

       

      I am not sure whether I understand your customer requirement completely. Would you mind contacting me via LinkedIn (my profile)? I think that way it is much easier to discuss as of the possibility to chat.

       

      Looking Forward!

      Best Regards,
      Sebastian