Using a canonical data model (CDM) has many,many advantages (see http://www.indafield.com/BizTalkNotes/2008/02/04/canonical-data-model-a-must-have/). There is one thing that actually creates an extra challenge and that is supportability. To be more precise, when error messages are generated by the ESB complaining about problems in transactions with regard to element values not being correct, it is quite hard for a support person to find out what the actual problem is and where it originates from. For example, when an outbound order is generated from the SAP system, the ESB picks this up as an IDOC, translates it into intermediate (CDM) and finally translates CDM to the destination format. For example EDI.
Now when during serialization to EDI, the ESB finds out that a certain field contains a wrong value, it is quite hard to relate that to the origination data (in SAP). And even if that is possible, the IDOC fields still don’t prove very useful (too technical).
The easiest way to solve this issue is to make sure your CDM contains business speak. And that’s a good idea anyway as discussed in the post referred to above. This way, the error message can display the EDI error and the business level information from the CDM. This will greatly help support to communicate the error to the right folks and help fix the error situation.