Check to see if that field is an ST Data Type (String). I think it is.
If it is then the sending system should not be sending a separator in that field – period. It will be treated as text – just as you see.
However, I am sure the sending system will not be able to change and ‘no one else has complained’ 🙂 so you will need to do something.
This might be the simplest and might work: IF the inbound message is using ; as a component separator try COPYing the first and second components using component notation in the address pathing for Source and Destination. What you are attempting to do here is to get directly at the individual components even though the Data Type is not correct.
If the above fails, you can try this: change the inbound and outbound variants to specify component (CM) for that field’s Data Type. This has other implications so study this carefully.
Of course, you can always use Tcl (string map should work nicely) to convert the ; to ^.
If the sending system is not treating the field as a Component field when it is a string, but rather the receiving system wants it that way, I might suggest agreeing for that field to be repeating (this kind of negotiation between trading partners is allowed) and then split on the ; and place each element in seperate repetitions of the field.
Anyway without more information, that is the best I can come up with.
The bottom line here I believe, is one or both of these systems are abusing the standard and they want you to make up for it.