Mapping 从xml到cobol字段的映射

Mapping 从xml到cobol字段的映射,mapping,cobol,wtx,Mapping,Cobol,Wtx,我需要将低值(我不太确定这是什么类型的)作为copybook字段的默认值传递给后端团队。我使用wtx转换将xml转换为cobol 15 :abc PIC X(15). 我从大型机团队那里得到了这个样本 X'000000000000000000000000000000' 但是,当我使用此规则时,它失败了,因为字符数超过15。如何传递低值 上面cobol字段的规则映射 ="X'000000000000000000000000000000'" 错误会见 Map: Output:

我需要将低值(我不太确定这是什么类型的)作为copybook字段的默认值传递给后端团队。我使用wtx转换将xml转换为cobol

15 :abc       PIC X(15).
我从大型机团队那里得到了这个样本

X'000000000000000000000000000000'
但是,当我使用此规则时,它失败了,因为字符数超过15。如何传递低值

上面cobol字段的规则映射

="X'000000000000000000000000000000'"
错误会见

Map:    Output: abc Field:123 Group:outputcbl
    Size of input item is greater than size of output item.

低值就是所有的十六进制零,因此,如果您调整规则映射的大小,使其包含15个十六进制数字,全部为零,则应该可以。COBOL中的低值是一个比喻常量。这个常数的值 是所用排序序列中序号位置最低的字符

假设使用的字符集是EBCDIC(如您对另一个答案的评论中所示) 并且排序顺序尚未确定 如果被重写(可能是一个很好的假设),则低值对应于二进制零

COBOL中的
PICX(15)
数据项占用15个字节。使用一个转换来翻译这一点 字段转换为15字节的二进制零。COBOL应用程序将看到这是一个
低值


注意:“大型机团队”给您的值是15字节二进制零的十六进制字符串表示形式。

如果输入为空,我希望发送所有低值,如果输入有值,则按原样发送。我的wtx映射有输入xml utf8以ebcdic格式输出cobol,我恐怕不知道您正在使用的映射技术,因此我无法帮助您,但如果您想使用较低的值,则需要将十六进制字符串设置为正确的字符数