在传输接口字段时遇到了这个问题,对面接收为char类型,传输数值类型一直报错。
解决方法:将数值类型赋值给足够长度的CHAR类型
DATA:LV_TRANSFER TYPE CHAR50.
LV_TRANSFER = LS_LIPS-LFIMG.
CONDENSE LV_TRANSFER NO-GAPS."去掉多余空间
LS_ITEM-LFIMG = LV_TRANSFER.
注意:
1)这里LV_TRANSFER不能为C,必须限制长度,否则直接赋值会成为*。
2)有资料显示先转化为N再转化为C,实操过程中,会有一些值无法直接赋值给N
3) CONDENSE这里压缩空间非常重要
在遇到对面接收字段为char类型而传输数值类型报错时,可以将数值类型赋值给指定长度的CHAR类型,例如使用CHAR50。通过CONDENSE去除赋值后的多余空格,确保数据正确传输。注意,赋值前的CHAR类型需要限制长度,否则可能变为*,并且直接转化成N类型后再转C可能存在数据丢失风险。
9177

被折叠的 条评论
为什么被折叠?



