我正在尝试实现简单的消息流,它读取文本文件(SWIFT消息)并替换一个字段值,然后我需要将其放回文件。 Flow将文件读取为blob,然后我将消息转换为CHARACTER并进行替换。结果我得到一个CHARACTER变量,我想写入文件。
将变量强制转换回BLOB,使其成为消息根目录,然后将其发送到具有默认设置的FileOutput节点。假设您在Compute节点中使用ESQL进行字符替换(其计算模式设置为更改Message),则后续ESQL将为:
SET OutputRoot.BLOB.BLOB = CAST(yourCharVar AS BLOB);
要将简单的CHARACTER(例如,像<tag>'这样的XML标记)写入ESQL中的文件,您只需创建一个计算节点并添加如下内容:
DECLARE youCharacterToWrite CHARACTER '<a simple string>';
SET OutputRoot.BLOB.BLOB = CAST(youCharacterToWrite AS BLOB CCSID InputRoot.Properties.CodedCharSetId);
并将您的计算节点从外部终端连接到FileOutput的终端以写入文件。如果在IIB中调试变量,它将显示CHARACTER变量的一些Base64表示,但它将正确写入文件。