在将数据转换为汇率时转储。

2020-08-19 03:21发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好专家

我正在从平面文件中导入货币兑换值列表,并经过一些清理,然后将文件数据传递给BAPI

BAPI_EXCHRATE_CREATEMULTIPLE。

要通过汇率,BAPI使用的数据类型为UKURSP(长度9,十进制5)。 所以我将我的CHAR值分配给bapi数据类型以获取5个十进制值。

如果来自CSV文件的交换值例如为0007.6269000->转换为7.62690,则工作正常

但是当值是15973.900000时我正在转储。 这不会转换为BAPI字段UKURSP所需的5个小数。

如何解决问题?

请告知。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好专家

我正在从平面文件中导入货币兑换值列表,并经过一些清理,然后将文件数据传递给BAPI

BAPI_EXCHRATE_CREATEMULTIPLE。

要通过汇率,BAPI使用的数据类型为UKURSP(长度9,十进制5)。 所以我将我的CHAR值分配给bapi数据类型以获取5个十进制值。

如果来自CSV文件的交换值例如为0007.6269000->转换为7.62690,则工作正常

但是当值是15973.900000时我正在转储。 这不会转换为BAPI字段UKURSP所需的5个小数。

如何解决问题?

请告知。

付费偷看设置
发送
4条回答
Nir深蓝
1楼 · 2020-08-19 04:20.采纳回答

请下次发布错误消息。

该值太大,因此无法将其强制转换为货币字段:

  • 源值15973.900000在小数点前有5个字符,在小数点后有6个字符,而只有第一个是相关的,因为其他的都为0。
    =>因此,您需要一个类型为 小数点前至少5个字符,小数点后至少1个字符
  • 类型UKURSP总共有9个字符,小数点前4个字符,小数点后5个字符
    =>因此,值15973.9 不能在不丢失信息的情况下适合UKURSP类型的变量,因此它会转储

汇率涉及哪些货币? 您是否查看过当前的"货币汇率(V_TCURR)"以查看该汇率对过去的存储方式?

  • 您是否检查了自定义的"货币:翻译比率(V_TCURF)",是否应将输入值除以相应的比率?
  • 以及是否不使用"直接报价汇率"(字段KURSP,类型UKURSP),而是使用"间接报价汇率"(字段KURSM,类型UKURSM),即 倒数(取反值),请参阅自定义"货币换算汇率类型V_TCURV)。

=>因此,为了在系统中保存"该"汇率,您必须使用 要设置正确的比率因子并可能在BAPI中使用反值,则应检查自定义值和当前值

BAPI值和直接报价汇率的比率:

  • EXCH_RATE类型UKURSP
  • FROM_FACTOR类型FFACT_CURR
  • TO_FACTOR类型TFACT_CURR

BAPI值和间接报价汇率的比率:

  • EXCH_RATE_V类型UKURSM
  • FROM_FACTOR_V类型FFACT_CURR
  • TO_FACTOR_V类型TFACT_CURR
d56caomao
2楼-- · 2020-08-19 04:04

感谢迈克尔的输入。

解决方案确实有效。

粗暴的香蕉
3楼-- · 2020-08-19 04:21

Sandra Rossi 不幸的是 目标字段的小数点前有4位数字,小数点后有5位数字(长度9),因此在这种情况下不会进行转换。

闻人可可
4楼-- · 2020-08-19 04:22

嗨,桑德拉,

你是对的。 我需要传递的值将是1.59739,为此,我需要将原始值除以其"比率与"值。

谢谢。

一周热门 更多>