Checksum calc

Imported from previous forum

All,

I have run into a problem with the checksum calculation for Order messages. My firm uses Appia, the counterparty uses a proprietary FIX engine. We are both using FIX 4.4.

For a particular message (New Order) they send us, Appia is rejecting it claiming a problem with the checksum value. Appia advised us to use a MessageEncoding(347) header tag.

We were about to explore that route, then it looked like the client was converting a special character from their mainframe and calculating in EBCDIC, and we expect the ASCII calculation. Appia was expecting 225 as the checksum, and the message was sending 240. (The special value looks like a cross between a ‘C’ and a ‘Q’).

The frustrating part, is that all I need is a tool to deconstruct the message and calculate the checksum. With that value, I believe we would know for sure which side was having the problem.

So, does anyone know of such a tool that I could use? Or any other way to manually calculate the checksum?

Thanks,
Randy

Refer Appendix B (of FIX 4.0 Spec) or relevant appendix in later versions, it contains a verbal description of calculating checksum and also a C function to calculate CheckSum, I translated it into Java code with some minor changes to handle differences between Java and C and it works correctly.

Regards,
K. Mahesh

All,

I have run into a problem with the checksum calculation for Order
messages. My firm uses Appia, the counterparty uses a proprietary FIX
engine. We are both using FIX 4.4.

For a particular message (New Order) they send us, Appia is rejecting it
claiming a problem with the checksum value. Appia advised us to use a
MessageEncoding(347) header tag.

We were about to explore that route, then it looked like the client was
converting a special character from their mainframe and calculating in
EBCDIC, and we expect the ASCII calculation. Appia was expecting 225 as
the checksum, and the message was sending 240. (The special value looks
like a cross between a ‘C’ and a ‘Q’).

The frustrating part, is that all I need is a tool to deconstruct the
message and calculate the checksum. With that value, I believe we would
know for sure which side was having the problem.

So, does anyone know of such a tool that I could use? Or any other way
to manually calculate the checksum?

Thanks, Randy