Не уверен, что вы все еще нуждаетесь в этом или уже нашли решение, но думали, что я все равно отправлю.
Это то, что было довольно распространено в нескольких местах, где я работал. Способом, которым мы, как правило, для достижения этой цели был литье входящего сообщения в виде битового потока, а затем приведения его в качестве символа -
DECLARE blobInputMsg BLOB ASBITSTREAM(InputBody CCSID 1208 ENCODING 546);
DECLARE charInputMsg CHAR CAST(blobInputMsg AS CHARACTER CCSID 1208 ENCODING 546);
CCSID и КОДИРОВАНИЕ должен быть взят из входящего сообщения, например, InputProperties.CodedCharSetId и InputProperties.Encoding, или по умолчанию для значений, подходящих для ваших интерфейсов.